资讯专栏INFORMATION COLUMN

Python Opencv中获取卷积核的实现代码

89542767 / 425人阅读

  小编写这篇文章的一个主要目的,主要是来给大家做个解答,解答的内容是利用Python Opencv,去获取相关的卷积核的代码,然后再用自己的方式,把这个代码去进行实现。就具体内容,下面给大家详细解答下。


  1.cv2.getStructuringElement(shape,ksize,anchor=(-1,-1))


  该函数构造并返回可进一步传递给createMorphologyFilter()、Correase()、Explate()或morphologyEx()的结构元素。但您也可以自己构造任意的二进制掩码,并将其用作结构元素。


  2.函数讲解

  getStructuringElement(shape,ksize,anchor=None):


  Shape:结构单元使用的类型;


  Ksize:卷积核的大小,如(3,3),(5,5)……。


  Anchor:卷积核的锚点位置,默认为中心位置,其值为(-1,-1);

01.png

  3.代码实战


  import os
  import cv2
  import numpy as np
  def ErodeFilterRect(img_path='images/lenna.png'):
  img_src=cv2.imread(img_path)
  img=cv2.resize(src=img_src,dsize=(500,500))
  img=cv2.cvtColor(src=img,code=cv2.COLOR_BGR2GRAY)
  #kernel=np.ones((7,7),dtype=np.uint8)
  kernel=cv2.getStructuringElement(shape=cv2.MORPH_RECT,ksize=(3,3))
  print(kernel)
  img=cv2.erode(src=img,kernel=kernel,iterations=1)
  cv2.imshow('img_src',img_src)
  cv2.imshow('img',img)
  cv2.waitKey(0)
  cv2.destroyAllWindows()
  def ErodeFilterELLIPSE(img_path='images/lenna.png'):
  img_src=cv2.imread(img_path)
  img=cv2.resize(src=img_src,dsize=(500,500))
  img=cv2.cvtColor(src=img,code=cv2.COLOR_BGR2GRAY)
  #kernel=np.ones((7,7),dtype=np.uint8)
  kernel=cv2.getStructuringElement(shape=cv2.MORPH_ELLIPSE,ksize=(3,3))
  print(kernel)
  img=cv2.erode(src=img,kernel=kernel,iterations=1)
  cv2.imshow('img_src',img_src)
  cv2.imshow('img',img)
  cv2.waitKey(0)
  cv2.destroyAllWindows()
  def ErodeFilterCROSS(img_path='images/lenna.png'):
  img_src=cv2.imread(img_path)
  img=cv2.resize(src=img_src,dsize=(500,500))
  img=cv2.cvtColor(src=img,code=cv2.COLOR_BGR2GRAY)
  #kernel=np.ones((7,7),dtype=np.uint8)
  kernel=cv2.getStructuringElement(shape=cv2.MORPH_CROSS,ksize=(3,3))
  print(kernel)
  img=cv2.erode(src=img,kernel=kernel,iterations=1)
  cv2.imshow('img_src',img_src)
  cv2.imshow('img',img)
  cv2.waitKey(0)
  cv2.destroyAllWindows()
  if __name__=='__main__':
  print('Pycharm')
  #ErodeFilterRect()
  #ErodeFilterELLIPSE()
  ErodeFilterCROSS()

 

02.png

03.png

04.png


     综上所述,这篇文章就给大家解答完毕,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128363.html

相关文章

  • 常用的十大python图像处理工具

    摘要:但无论是用于何种用途,这些图像都需要进行处理。图像处理中的常见任务包括显示图像,基本操作如裁剪翻转旋转等,图像分割,分类和特征提取,图像恢复和图像识别。图像处理系统有时被称为图像处理的瑞士军刀。 showImg(https://segmentfault.com/img/remote/1460000019631626); 原文标题:10 Python image manipulation...

    Crazy_Coder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<