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()

我可以重新缩放图像吗?

4

1 回答 1

1

您可以执行以下任一操作:

  • 将图像重新缩放到相同大小。

或者

  • 如果图像中的对象与图像的大小不成正比,则为该对象提取一个边界框,然后确定结构元素的大小(目前总是6x6)相对于该对象的边界框的大小。这样您就可以确定形态与对象大小成正比。
于 2013-04-17T10:14:38.973 回答