摘要:
步骤分两步: 第一步先将图片摆正,输出扫描版(应用透视变换) 第二步用pytesseract识别即可 main.py import torch import numpy as np import cv2 import math import test def show(img): cv2.imsho 阅读全文
摘要:
泰勒展开后得 (式子中w没有写) 将二次型标准化后的可得 c(x, y, △x,△y) = λ1x2 + λ2y2 根据λ1 和 λ2的大小判断是否是角点 opencv中都封装到了cv2.cornerHarris(img, blockSize, ksize, k) img:图像,float32类型, 阅读全文
摘要:
main.py import cv2 import math import torch import numpy as np import scan_utils def show(img): cv2.imshow('name', img) cv2.waitKey(0) cv2.destroyAllW 阅读全文
摘要:
def cmp(x): return x[0][0] def Sort(contours): bbox = [cv2.boundingRect(c) for c in contours] (_, ret) = zip(*sorted(zip(bbox, contours), key = cmp)) 阅读全文
摘要:
对图像求直方图,即统计每个像素值有多少个点 第一个参数为图像,第二个参数为图像通道(0表示灰度图),第三个参数为掩膜(None表示没有) 第四个参数为直方图中有多少柱子,第五个参数为统计像素值的范围 img_x = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) his 阅读全文
摘要:
注意:轮廓检测需要使用二值图像 img_gray = cv2.cvtColor(img1, cv2.COLOR_BGR2GRAY) #为了更高的精确率使用二值图像,第一个返回值为127,即阈值,第二个为二值图像 _, img_bin = cv2.threshold(img_gray, 127, 25 阅读全文
摘要:
Canny边缘检测分为四步: 1、图像降噪:使用高斯滤波器,平滑图像,滤除噪声,噪声是灰度值变化较大的部分,容易被识别为噪声 2、计算图像梯度:图像的梯度即为图像的灰度值的变化最快的地方,梯度的模即为方向导数的最大值(将图像看作函数),边缘也是灰度值变化最快的地方 3、非极大值抑制:将局部范围内的梯 阅读全文
摘要:
import torch import numpy from torch.utils.data import TensorDataset from troch.utils.data import DataLoader #TensorDataset将数据和标签封装到一起,再用DataLoader封装后 阅读全文
摘要:
为什么要进行maxpool? max pooling之后,仅保留了最代表性的pixel 浅层网络输出: 深层网络输出: 图1虽然人容易看,但特征不具有代表性,就是说不能通过一个特征就判定它是否是行人,之所以人看起来容易,是因为人做了后面深层网络做的东西。 图2比较难以区分,因为它已经对某些结构进行了 阅读全文
摘要:
神经网络只需要学习一个函数d d(img1, img2) = degree of difference between imags d将输出两张图片的差异,如果有新人加入,则不需要重新训练网络,只需要用新人的照片与数据库中的去作比较 如果输出的差异小于某个阈值,则判断为是同一个人 Siamese n 阅读全文