zoukankan      html  css  js  c++  java
  • 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)

    图片

  • 相关阅读:
    latex
    anaconda
    git stash
    YOLO训练Pedestrain
    OpenCL C
    OpenCL
    OpenVX
    caffe源码阅读
    居住证积分查询地址
    jdk 1.8内存逐步增大的一个bug
  • 原文地址:https://www.cnblogs.com/shuimuqingyang/p/15665420.html
Copyright © 2011-2022 走看看