zoukankan      html  css  js  c++  java
  • 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现

    一. 官方文档:

    dilate(膨胀):


    函数原型 ↑
     

    参数说明 ↑
     

        cv.erode(腐蚀)的使用和其类似。


    二. 实验:膨胀和腐蚀

     1 # Writer : wojianxinygcl@163.com
     2 # Date  : 2020.3.22
     3 import cv2 as cv
     4 import numpy as np
     5 
     6 image = cv.imread("../paojie.jpg")
     7 image = cv.cvtColor(image,cv.COLOR_RGB2GRAY)
     8 # 得到二值图像 定义阈值为127
     9 #ret,thresh1 = cv.threshold(image,127,255,cv.THRESH_BINARY)
    10 # 得到二值图像 自动计算合适的阈值
    11 ret,thresh1 = cv.threshold(image,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)
    12 Black_and_White = thresh1.copy()
    13 
    14 # 得到腐蚀图像,3*3为卷积核大小
    15 erode_result = cv.erode(thresh1,(3,3))
    16 # 得到膨胀图像,3*3为卷积核大小
    17 dilate_result = cv.dilate(thresh1,(3,3))
    18 
    19 cv.imshow('Black_and_White',Black_and_White)
    20 cv.imshow("erode_result", erode_result)
    21 cv.imshow("dilate_result",dilate_result)
    22 cv.waitKey(0)
    23 cv.destroyAllWindows()

    三. 实验输出:


    原图(左)、膨胀图像(中)、腐蚀图像(右) ↑
     

    四. 实验:开闭运算

     1 # Writer : wojianxinygcl@163.com
     2 # Date   : 2020.3.22
     3 import cv2 as cv
     4 import numpy as np
     5 
     6 image = cv.imread("../paojie.jpg")
     7 image = cv.cvtColor(image,cv.COLOR_RGB2GRAY)
     8 # 得到二值图像 定义阈值为127
     9 #ret,thresh1 = cv.threshold(image,127,255,cv.THRESH_BINARY)
    10 # 得到二值图像 自动计算合适的阈值
    11 ret,thresh1 = cv.threshold(image,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)
    12 Black_and_White = thresh1.copy()
    13 
    14 # 闭运算
    15 closing = cv.morphologyEx(thresh1, cv.MORPH_CLOSE, kernel=(3,3))
    16 # 开运算
    17 opening = cv.morphologyEx(thresh1, cv.MORPH_OPEN,  kernel=(3,3))
    18 
    19 cv.imshow('Black_and_White',Black_and_White)
    20 cv.imshow("closing", closing)
    21 cv.imshow("opening", opening)
    22 cv.waitKey(0)
    23 cv.destroyAllWindows()

    五. 实验输出:


    原图(左)、闭运算(中)、开运算(右) ↑
     

    六. Morphological Gradient  形态学梯度 用于检测图像边缘,得到图像轮廓

    膨胀和腐蚀的差值得到:图像边缘

    函数:gradient = cv.morphologyEx(img, cv.MORPH_GRADIENT, kernel)


    七. 实验结果:


    膨胀-腐蚀=图像边缘(图像轮廓) ↑
     

    八. 写在最后的话:

        创作不易,如果本文对您有帮助,记得点赞哦!


    九. 版权声明:

        未经作者允许,请勿随意转载抄袭,抄袭情节严重者,作者将考虑追究其法律责任,创作不易,感谢您的理解和配合!

  • 相关阅读:
    诚意租房网blog2
    3个微信小程序体验报告
    微信小程序正式上线 可置于聊天窗口顶部
    微信小程序开发工具测评
    死磕微信!支付宝版“小程序”曝光
    微信小程序开发—快速掌握组件及API的方法
    【微信小程序开发•系列文章六】生命周期和路由
    换个角度看微信小程序[推荐]
    微信小程序开发日记——高仿知乎日报(下)
    微信小程序开发日记——高仿知乎日报(中)
  • 原文地址:https://www.cnblogs.com/wojianxin/p/12545642.html
Copyright © 2011-2022 走看看