1
我必須在二進制圖像上進行膨脹 我的問題是在不同尺寸的二進制圖像上進行膨脹操作。如何將比例擴張操作應用於二值圖像?
我想擴張操作比例適用於所有的圖像,並防止像一個車輪的小圖像成爲白色的圓圈。
#image dilation
import cv2
path "pathimage"
gray = cv2.imread(path,0)
element = cv2.getStructuringElement(cv2.MORPH_CROSS,(6,6))
graydilate = cv2.erode(gray, element) #imgbnbin
graydilate = cv2.erode(graydilate, element)
#graydilate = cv2.erode(graydilate, element)
cv2.imshow('erode',graydilate)
cv2.waitKey()
ret,thresh = cv2.threshold(graydilate,127,255,cv2.THRESH_BINARY_INV)
imgbnbin = thresh
print("shape imgbnbin")
print(imgbnbin.shape)
cv2.imshow('binaria',imgbnbin)
cv2.waitKey()
可能需要重新調整圖像嗎?
對不起,我如何確定結構元素的大小?你會建議我選擇,如果邊界框大小比例如(320,240)更大,使用6x6而不是3x3? – improc
您可能可以決定結構元素的大小約爲邊界框的1%。這樣,如果您的邊界框的大小爲W x H,那麼您的結構元素大小爲0.01W x 0.01H。在你的320x240的例子中,這將被舍入爲3x2。 – Zaphod