ToB企服应用市场:ToB评测及商务社交产业平台

标题: 深度学习-OpenCv的运用(4) [打印本页]

作者: 泉缘泉    时间: 2024-9-11 05:01
标题: 深度学习-OpenCv的运用(4)
一、图像形态学

图像形态学是数学中研究形状、结构和变换的一个分支,在图像处置惩罚领域,它主要用于形貌和分析图像中的形状和结构。图像形态学通过操纵图像中的形状和结构元素(也称为内核或模板),来实现图像的分析、增强、去噪和特征提取等目的。这一领域为计算机视觉、图像辨认和医学图像处置惩罚等领域提供了强大的工具和方法。
二、图像形态学的根本概念


三、形态学操纵的主要类型


四、代码实现

1.图像腐蚀

  1. import cv2
  2. import numpy as np
  3. sun = cv2.imread('sun.png')
  4. cv2.imshow('a', sun)
  5. cv2.waitKey(0)
  6. kernel = np.ones((5, 5), np.uint8) #设置kenenel大小
  7. erosion_1 = cv2.erode(sun, kernel, iterations=2) #kenenel大小默认为3*3 iterations默认为1
  8. cv2.imshow('erosion_1', erosion_1)
  9. cv2.waitKey(0)
  10. cv2.destroyAllWindows()
复制代码

2.图像膨胀

  1. import cv2
  2. import numpy as np
  3. wenzi = cv2.imread('word.png')
  4. cv2.imshow('b', wenzi)
  5. cv2.waitKey(0)
  6. kernel = np.ones((2, 2), np.uint8)
  7. wenzi_new = cv2.dilate(wenzi, kernel, iterations=2)
  8. cv2.imshow('wenzi-new', wenzi_new)
  9. cv2.waitKey(0)
  10. cv2.destroyAllWindows()
复制代码

3.开运算-先腐蚀后膨胀

  1. import cv2
  2. import numpy as np
  3. zhiwen = cv2.imread('zhiwen1.png')
  4. cv2.imshow('a1',zhiwen)
  5. cv2.waitKey(0)
  6. kernel = np.ones((2,2),np.uint8)
  7. zhiwen_new = cv2.morphologyEx(zhiwen,cv2.MORPH_OPEN,kernel)
  8. cv2.imshow('b1',zhiwen_new)
  9. cv2.waitKey(0)
  10. cv2.destroyAllWindows()
复制代码

4.闭运算-先膨胀后腐蚀

  1. import cv2
  2. import numpy as np
  3. zhiwen = cv2.imread('zhiwen2.png')
  4. cv2.imshow('a2',zhiwen)
  5. cv2.waitKey(0)
  6. kernel = np.ones((2,2),np.uint8)
  7. zhiwen_new = cv2.morphologyEx(zhiwen,cv2.MORPH_OPEN,kernel)
  8. cv2.imshow('b2',zhiwen_new)
  9. cv2.waitKey(0)
  10. cv2.destroyAllWindows()
复制代码

5.梯度运算

  1. word = cv2.imread('word.png')
  2. cv2.imshow('a',word)
  3. cv2.waitKey(0)
  4. kernel = np.ones((2,2),np.uint8)
  5. #膨胀
  6. pz_word = cv2.dilate(word,kernel,iterations=2)
  7. cv2.imshow('b',pz_word)
  8. cv2.waitKey(0)
  9. #腐蚀
  10. fs_word = cv2.erode(word,kernel,iterations=1)
  11. cv2.imshow('c',fs_word)
  12. cv2.waitKey(0)
  13. # 膨胀-腐蚀
  14. word_new = cv2.morphologyEx(word,cv2.MORPH_GRADIENT,kernel)
  15. cv2.imshow('d',word_new)
  16. cv2.waitKey(0)
  17. cv2.destroyAllWindows()
复制代码

6.顶帽与黑帽

  1. sun = cv2.imread('sun.png')
  2. cv2.imshow('a', sun)
  3. cv2.waitKey(0)
  4. kernel = np.ones((2, 2), np.uint8)
  5. # 开运算
  6. open_sun = cv2.morphologyEx(sun, cv2.MORPH_OPEN, kernel)
  7. cv2.imshow('b', open_sun)
  8. cv2.waitKey(0)
  9. # 顶帽
  10. tophat = cv2.morphologyEx(sun, cv2.MORPH_TOPHAT, kernel)
  11. cv2.imshow('c', tophat)
  12. cv2.waitKey(0)
  13. # 闭运算
  14. close_sun = cv2.morphologyEx(sun, cv2.MORPH_CLOSE, kernel)
  15. cv2.imshow('d', close_sun)
  16. cv2.waitKey(0)
  17. # 黑帽
  18. blackhat = cv2.morphologyEx(sun, cv2.MORPH_BLACKHAT, kernel)
  19. cv2.imshow('e', blackhat)
  20. cv2.waitKey(0)
  21. cv2.destroyAllWindows()
复制代码

五、总结

图像形态学是数字图像处置惩罚中的一个告急分支,它通过一系列形态学操纵实现对图像形状和结构的分析和处置惩罚。在OpenCV等计算机视觉库中,形态学操纵被广泛应用于图像去噪、边缘检测、特征提取等使命中。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4