前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCV二值分析-从复杂背景提取横纹

OpenCV二值分析-从复杂背景提取横纹

作者头像
OpenCV学堂
发布2021-12-10 12:03:35
8000
发布2021-12-10 12:03:35
举报

问题

这个来自QQ群里面一位网友提问,然后我给它稍微整理一下,然后完成了分析,成功提取了横纹。原图如下:

二值分析的提取结果:

方法

我首先对原图进行了降噪处理,选择了高斯双边,处理效果如下:

然后转行为灰度图象,采用自适应二值化处理,得到的结果如下:

代码语言:javascript
复制
binary = cv.adaptiveThreshold(image, 255, cv.ADAPTIVE_THRESH_GAUSSIAN_C, 
                                         thresh_type,
                                         self.ada_block_size, 
                                         self.ada_constant_value)

然后使用形态学开操作处理,处理之后结果如下:

代码语言:javascript
复制
e1 = cv.getStructuringElement(self.se_type, self.se1)
temp1 = cv.morphologyEx(image, self.op_type, e1)

最后通过轮廓分析,过滤掉其它小的干扰块,得到的裂纹区域显示如下:

代码语言:javascript
复制
contours, hireachy = cv.findContours(image, self.analysis_mode, cv.CHAIN_APPROX_SIMPLE)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OpenCV学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题
  • 方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档