OpenCV二值分析-从复杂背景提取横纹
点击下方“AI算法与图像处理”,一起进步!
重磅干货,第一时间送达
问题
这个来自QQ群里面一位网友提问,然后我给它稍微整理一下,然后完成了分析,成功提取了横纹。原图如下:
二值分析的提取结果:
方法
我首先对原图进行了降噪处理,选择了高斯双边,处理效果如下:
然后转行为灰度图象,采用自适应二值化处理,得到的结果如下:
binary = cv.adaptiveThreshold(image, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C,
thresh_type,
self.ada_block_size,
self.ada_constant_value)
然后使用形态学开操作处理,处理之后结果如下:
e1 = cv.getStructuringElement(self.se_type, self.se1)
temp1 = cv.morphologyEx(image, self.op_type, e1)
最后通过轮廓分析,过滤掉其它小的干扰块,得到的裂纹区域显示如下:
contours, hireachy = cv.findContours(image, self.analysis_mode, cv.CHAIN_APPROX_SIMPLE)
交流群
欢迎加入公众号读者群一起和同行交流,目前有美颜、三维视觉、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群
个人微信(如果没有备注不拉群!) 请注明:地区+学校/企业+研究方向+昵称
下载1:何恺明顶会分享
在「AI算法与图像处理」公众号后台回复:何恺明,即可下载。总共有6份PDF,涉及 ResNet、Mask RCNN等经典工作的总结分析
下载2:终身受益的编程指南:Google编程风格指南
在「AI算法与图像处理」公众号后台回复:c++,即可下载。历经十年考验,最权威的编程规范!
下载3 CVPR2021 在「AI算法与图像处理」公众号后台回复:CVPR,即可下载1467篇CVPR 2020论文 和 CVPR 2021 最新论文
评论