图像处理
qq_33643943
这个作者很懒,什么都没留下…
展开
-
python如何给指定的颜色给与一个索引值
首先想到的方法是直接调用PIL库Image的convert方法img = img.convert(model = 'p')但covert中的调色板技术使用的是WEB和ADAPTIVE两种,先生成256位的数组,确定索引,再使用快速二叉树给索引值指定颜色,暂未找到更改索引对应颜色的方法。还发现有趣的是,Image的convert将RGB图像转化为P模式的图像,会将(255,0,0)转成值为15,(255,255,0)值为40,(0,255,0)为45,(0,0,255)转为192.不知道这个值怎么计原创 2020-07-21 15:37:10 · 870 阅读 · 0 评论 -
OpenCV实践-银行卡号识别
OpenCV实践-银行卡号识别利用opencv实现对图片上的银行卡上的卡号识别,并把识别出的数字标注在图片上。解决思路:对数字模板进行轮廓识别,并将每个数字放到数组里对银行卡上所有轮廓处理,根据长度选取每组卡号的轮廓(一组为4个数字)将卡号轮廓外接矩形坐标保存,提取里面的每个数字并将它与数组的数字进行模板匹配选取得分最高的数字,并将它们画在图片上模板处理根据这样的一个数字模板:因为轮廓提取函数只接受二值图像,所以先灰度化,二值化:ref = cv2.cvtCOLOR(img,cv2.原创 2020-05-18 19:32:22 · 941 阅读 · 0 评论 -
图像梯度
图像梯度-Sobel算子¶图像梯度可以用于检测边缘,A是选取图片上3*3的区域。x是右减左,y是下减上dst = cv2.Sobel(src, ddepth, dx, dy, ksize)ddepth:图像的深度 dx和dy分别表示水平和竖直方向 ksize是Sobel算子的大小有正有负,负数会被截断,所以要取绝对值 cv2.convertScaleAbs(sobelx)不建议直接将dx和dy同时设置成1,达不到整个边界的检测效果。可先分别计算dx和dy,然后用c...原创 2020-05-18 18:53:21 · 289 阅读 · 0 评论 -
图像处理-形态学操作
形态学-腐蚀操作 cv2.erode(img,kernel,iterations = 1)(去刺) 不同kernel 不同迭代次数(iterations)形态学-膨胀操作 cv2.dilate(img,kernel,iterations = 1) 线条变粗开运算与闭运算 开:先腐蚀,再膨胀(有去刺加粗效果) cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)...原创 2020-05-18 18:32:43 · 324 阅读 · 0 评论 -
opencv-图像阈值计算(threshold具体参数介绍)
图像阈值ret, dst = cv2.threshold(src, thresh, maxval, type)src: 输入图,只能输入单通道图像,通常来说为灰度图 dst: 输出图 thresh: 阈值 maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值 type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY; cv2.THRESH_BINARY_INV; cv2.THRESH_TRUNC; cv2.THRESH_TOZERO原创 2020-05-18 10:13:36 · 776 阅读 · 0 评论 -
图形处理实验-python自编中值,均值,最大值,最小值滤波器
理论引自:https://www.cnblogs.com/jukan/p/7072652.html均值滤波:均值滤波,是图像处理中最常用的手段,从频率域观点来看均值滤波是一种低通滤波器,高频信号将会去掉,因此可以帮助消除图像尖锐噪声,实现图像平滑,模糊等功能。理想的均值滤波是用每个像素和它周围像素计算出来的平均值替换图像中每个像素。采样Kernel数据通常是3X3的矩阵,如下表...原创 2019-03-25 21:01:27 · 2684 阅读 · 0 评论 -
copy 与deep copy
def __getitem__(self, idx): ori_img, bbox, label, difficult = self.db.get_example(idx) img, bbox, label, scale = self.tsf((ori_img, bbox, label)) # TODO: check whose stride i...原创 2019-06-25 16:17:12 · 137 阅读 · 0 评论