传统图像处理及opencv实现
记录传统图像处理所学以及opencv实现的方法
HarryXxc
这个作者很懒,什么都没留下…
展开
-
pycharm无法读取中文路径下的图片
这里做个简单的笔记,防止自己忘记,等后面再仔细研究一下这个函数如下所示,使用cv2.imread()直接读取中文路径下的图片会报错file_path = "E:\\中文\\good\\pic.bmp" img = cv2.imread(file_path)解决办法利用 cv2.imdecode() 读取图片file_path = "E:\\中文\\good\\pic.bmp" img = cv2.imdecode(np.fromfile(file_path , dtype=np.uint.原创 2022-01-20 13:32:27 · 2012 阅读 · 0 评论 -
numpy一些笔记整理
np.tile()参考博客:https://www.jianshu.com/p/9519f1984c702. np.where/np.unique参考博客:https://blog.csdn.net/qq_27825451/article/details/82838402参考博客:https://blog.csdn.net/u012193416/article/details/79672729原创 2022-01-08 13:18:27 · 750 阅读 · 0 评论 -
python-opencv利用cv2.matchShapes()实现轮廓匹配
之前用过cv2.matchTemplate()去做模板匹配,今天学习下cv2.matchShapes()具体的使用方法,可以参考博客:https://www.cnblogs.com/wojianxin/p/12607948.html这里我的理解是:cv2.matchShapes()是用来匹配轮廓形状的,而且只能匹配单个轮廓;cv2.matchTemplate()是用来匹配模板的,可以用一个模板去匹配图像上多个轮廓点对# 一般用来分析cv.findContours()之后的轮廓点对def原创 2022-01-08 12:44:27 · 9990 阅读 · 0 评论 -
膨胀腐蚀-利用直线模板和圆模板及python-opencv代码实现
也是这几天做项目才理解到,原来膨胀腐蚀还可以利用线条模板和圆的模板去做,之前都是使用矩形模板去做的。需要处理的图片如下:import cv2import numpy as np"""直线膨胀腐蚀"""img = cv2.imread("pic.png", 0)# cv2.imshow("img", img)t, thresholdImg = cv2.threshold(img, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)# cv2.im.原创 2022-01-07 21:33:55 · 2682 阅读 · 0 评论 -
边缘检测算子的理解
最近学习canny和sobel,记录自己对其算子的理解因为边缘是梯度变化的位置,在数学中可以用导数表示,那么用算子就可以表示为 [1,-1] ,这样就可以表示用来f(x+1,y) - f(x,y)这里记录几个算子,第一个就是Prewitt算子,表示如下:可以看到这个算子是用了3x3的模板,因为如果用之前所说的1x2的算子,正好有两个像素的位置差距很大,那么带来的影响就比较大,为了减少个别点的影响,所以选择了大一点的模板。接下来就是sobel算子,这也是canny算子的核心;这里解释一下为.原创 2022-01-07 20:43:22 · 1894 阅读 · 3 评论