#形态学处理膨胀
import sys,cv2,math
import numpy as np
import matplotlib.pyplot as plt
if __name__ == '__main__':
I = cv2.imread('E:/sy2/6/img7.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('I',I)
#结构元半径
r = 1
MAX_R = 20
#显示膨胀效果的窗口
cv2.namedWindow('dilate',1)
def nothing(*arg):
pass
#调节结构元半径
cv2.createTrackbar('r','dilate',r,MAX_R,nothing)
#第一个参数时滑动条的名字,第二个参数时滑动条被放置的窗口的名字,
#第三个参数是滑动条默认值,第四个参数时滑动条的最大值,
#第五个参数时回调函数,每次滑动都会调用回调函数。
while True:
#得到当前的r值
r = cv2.getTrackbarPos('r','dilate')
#第一个参数是滑动条名字,第二个时所在窗口偶,返回值是滑动条位置
#创建结构元
s=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(2*r+1,2*r+1))
d = cv2.dilate(I,s)
cv2.imshow('dilate',d)
ch = cv2.waitKey(5)
#按Ese退出循环
if ch == 27:
break
cv2.destroyAllWindows()
形态学处理膨胀
最新推荐文章于 2025-03-06 19:09:16 发布