小编Aka*_*llu的帖子

如何删除图像中的外圆而不影响图像的其余部分?

我有一个类似于下面显示的图像的图像。 在此处输入图片说明

我想删除图像的黑色和红色圆圈,而又不影响图像内部的红色方块(因为红色圆圈和红色方块的像素值相同)。

我尝试使用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)
Run Code Online (Sandbox Code Playgroud)

有什么建议么?提前致谢。

编辑1

我正在寻找的样本输出就是这种图像(彩色或灰度)。

在此处输入图片说明

python opencv image-processing python-3.x

1
推荐指数
1
解决办法
64
查看次数

标签 统计

image-processing ×1

opencv ×1

python ×1

python-3.x ×1