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

https://mp.weixin.qq.com/s/xg8Unt-FIM2_G9hi4WoQmQ

这个来自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)

 

图片

 

posted @   水木清扬  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2020-12-09 【实用】博途S7-1200 如何使用仿真功能
点击右上角即可分享
微信分享提示