Canny边缘检测C语言实现
C 语言写的Canny 边缘检测实现,结构清晰,功能模块分得挺细,适合想搞清楚图像边缘提取流程的朋友。作者把整个算法拆成了几个函数,比如gaussian_filter
、gradient
、non_max_suppression
等,逻辑清楚,调试也方便。
高斯滤波搞预,去掉图像里的噪点;算梯度,方向和强度都考虑到;走一遍非极大值抑制,去掉那些看起来“像边但其实不是”的点,用双阈值+边缘连接拼出完整边缘。每一步都有注释,代码也挺好懂。
用的是Visual Studio 2017
编译,兼容性没问题。如果你平时只用 OpenCV 封装好的Canny
,不妨看看这个项目,自己撸一遍底层实现,理解会更深。嗯,适合学生、研究方向是图像的,还有做 CV 项目想要一点定制化控制的你。
相关资料也蛮多,我顺手贴几个链接,有兴趣可以看看:
如果你想要一个能自己改、能看懂的 Canny 实现,这项目还不错。要注意的一点是,效果上比不过 OpenCV 的高性能优化,但学习价值更大。
下载地址
用户评论