- 图像的梯度:
Soble算子:二阶导数提取边缘
拉普拉斯算子
canny边缘处理:
将彩色图像通过
1高斯模糊去掉噪声
2.灰度图像
3对图像求取梯度
4.非最大信号抑制
5高低阈值出二值化图像
霍夫直线变换
傅里叶变换
轮廓发现
边缘提取的阈值会影响轮廓发生的结果
轮廓发现有相关的API:
findContours发现轮廓
drowContours绘制轮廓
利用梯度避免阈值的干扰
Opencv笔记网站
https://www.cnblogs.com/FHC1994/p/9128005.html
关于视频程序出错问题
OpenCV旧版,返回三个参数:
im2, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
要想返回三个参数:
把OpenCV 降级成3.4.3.18 就可以了,在终端输入pip install opencv-python==3.4.3.18
OpenCV 新版调用,返回两个参数:
contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
---------------------
作者:醉雨轩Y
来源:CSDN
原文:https://blog.csdn.net/miao0967020148/article/details/88623631
版权声明:本文为博主原创文章,转载请附上博文链接!
2.Opencv笔记
最好调用opencv自带的函数库,最好不要自己写,(但是必须会写))
时间消耗:inverse(src) t2=cv.getTickCount() time=(t2-t1)/cv.getTickFrequency() print("time : %s ms"%(time*1000))
OPENCV是0到180(不是0到360,因为计算机定义会超出)
提取人的皮肤会转到YCRCB建模
安卓开发(yuv)
RGB-HSV很重要
3.
Roi区域:原则的区域
ROi的获取:numpy
泛红填充分成两部分:
两种方法:
递归和泛红填充
离散卷积
均值模糊用来去燥(#中值模糊也可以用来去燥(可以去除椒盐噪声))
#均值模糊用来去燥(应用于随机噪声)
Ps中都会高斯模糊
边缘保留滤波(EPF)
4.
开操作腐蚀加膨胀
先腐蚀,后膨胀完成一个开操作
闭操作:先膨胀后腐蚀
开操作:去除小干扰块
闭操作:填充闭合区域
可用于水平或者垂直线提取
其他形态学操作
顶帽:原图与开操作之间的差值图像
黑帽
形态学梯度
基本梯度:膨胀后的图像减去腐蚀后的图像的差值
内部梯度:用原图像减去腐蚀之后的图像得到的差值成为内部梯度
外部梯度:图像膨胀后再减去原来的图像得到的差值图像成为外部梯度
分水岭算法:
先把图像进行二值化,
然后进行距离变换找到masker之后
5.
直方图均衡化自动的调整图像的对比度
直方图比较
模板匹配的场景有一定的适应性
最好用opencv3.旧版本会有很多问题
二值化白色255
黑色0
全局阈值比局部效果更好阈值更好
全局阈值需要过滤一下