(opencv09)cv2.getStructuringElement()构造卷积核


(opencv09)cv2.getStructuringElement()构造卷积核

rectkernel = cv2.getStructuringElement(shape, ksize, anchor=None)

shape:

  • Enumerator  
    MORPH_RECT 矩形
    MORPH_CROSS 十字型
    MORPH_ELLIPSE 椭圆形

ksize:

  • 指定形状(元组)

示例程序01

 rectKernel = cv2.getStructuringElement(cv2.MORPH_RECT, (6, 3))
 print(rectKernel, type(rectKernel))
 sqKernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
 print(sqKernel, type(sqKernel))

运行结果01

 [[1 1 1 1 1 1]
  [1 1 1 1 1 1]
  [1 1 1 1 1 1]] <class 'numpy.ndarray'>
 [[1 1 1 1 1]
  [1 1 1 1 1]
  [1 1 1 1 1]
  [1 1 1 1 1]
  [1 1 1 1 1]] <class 'numpy.ndarray'>

示例程序02

 sqKernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (9, 5))
 print(sqKernel, type(sqKernel))
 sqKernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (10, 6))
 print(sqKernel, type(sqKernel))

运行结果02

 [[0 0 0 0 1 0 0 0 0]
  [0 0 0 0 1 0 0 0 0]
  [1 1 1 1 1 1 1 1 1]
  [0 0 0 0 1 0 0 0 0]
  [0 0 0 0 1 0 0 0 0]] <class 'numpy.ndarray'>
 [[0 0 0 0 0 1 0 0 0 0]
  [0 0 0 0 0 1 0 0 0 0]
  [0 0 0 0 0 1 0 0 0 0]
  [1 1 1 1 1 1 1 1 1 1]
  [0 0 0 0 0 1 0 0 0 0]
  [0 0 0 0 0 1 0 0 0 0]] <class 'numpy.ndarray'>

双数话默认选后边那个,最好为奇数

示例程序03

 sqKernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 5))
 print(sqKernel, type(sqKernel))

运行结果03

 [[0 0 0 0 1 0 0 0 0]
  [0 1 1 1 1 1 1 1 0]
  [1 1 1 1 1 1 1 1 1]
  [0 1 1 1 1 1 1 1 0]
  [0 0 0 0 1 0 0 0 0]] <class 'numpy.ndarray'>



 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM