【发布时间】:2019-11-04 21:57:25
【问题描述】:
我想同时删除图像的黑色和红色圆圈,而不影响图像内部的红色方块(因为红色圆圈和红色方块具有相同的像素值)。
我尝试使用cv2.HoughCircles 检测红色圆圈并尝试将其转换为黑色,但红色圆圈的某些部分保持不变,如图所示。
这是我使用的代码。
import numpy as np
import cv2
image = cv2.imread("13-14.png")
output = image.copy()
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, 1.3, 145)
if circles is not None:
circles = np.round(circles[0, :]).astype("int")
for (x, y, r) in circles:
cv2.circle(output, (x, y), r, (0, 0 , 0), 4)
cv2.imshow("output", np.hstack([image, output]))
cv2.waitKey(0)
有什么建议吗?提前致谢。
编辑 1
我正在寻找的示例输出是这种图像(彩色或灰度)。
【问题讨论】:
标签: python python-3.x opencv image-processing