图像边缘检测(Canny)
Canny检测的流程
Canny检测主要是用于边缘检测
1)使用高斯滤波器,以平滑图像,滤除噪声。
2)计算图像中每个像素点的梯度强度和方向。
3)应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应
4)应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘
5)通过抑制孤立的弱边缘最终完成边缘检测。
注:
NMS(非极大值抑制):
就是抑制不是极大值的元素,可以理解为局部最大搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。
例如:
行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口在包含或者大部分交
叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口
算法:
线性插值法
应用双阈值:大于maxval的设置为边界,
处于maxval和minval中间 和边界点相连保留,其余舍去,
小于minval 舍去
1 #cv2.Canny(src,minval,maxval) 2 #minval:最低阈值 3 #maxval:最高阈值 4 #阈值越低,图像越细致 5 canny1 = cv2.Canny(img,80,150) 6 canny2 = cv2.Canny(img,50,100) 7 res = np.hstack((canny1,canny2)) 8 Cv_Show('res',res)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!