我想把这个背景改成原来的黑色。这个背景不是纯黑色的。其值包含1、2或3。使用以下代码后,我得到的背景值非常接近黑色,但不是黑色。虽然背景看起来是黑色的
img = cv2.imread("images.bmp")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 0, 255, cv2. THRESH_BINARY)
img[thresh == 5] = 0
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (5, 5))
erosion = cv2.erode(img, kernel, iterations = 1)
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow("image", erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
尝试替换此:
有了这个:
问题是
cv2.threshold()
不为您计算阈值,而是应用一个阈值,例如,代码中的thresh
已经是阈值图像。你知道吗(已编辑)
据我所知,这应该能解决你的问题。你知道吗
除此之外,当心
因为第二个参数是阈值,每一个高于阈值的像素都被设置为第三个值,也就是255。你知道吗
相关问题 更多 >
编程相关推荐