You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取图像中不规则涂黑圆形的坐标?Blob检测是否可靠?

黑色涂绘圆形坐标检测方案

针对你提到的不规则黑色涂绘圆形,以下几种方法都能可靠获取其坐标,Blob检测其实完全适用,只要做好参数调整:

一、预处理:先强化目标区域

因为黑色涂绘和背景对比度高,先做二值化处理,把图像转成黑白,突出目标区域:

import cv2
import numpy as np

# 读取图像
img = cv2.imread('your_image.png')
# 转灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化:把黑色区域设为前景(这里黑色像素值低,所以用THRESH_BINARY_INV)
_, binary = cv2.threshold(gray, 50, 255, cv2.THRESH_BINARY_INV)

调整阈值50可以适配不同光照下的图像,确保黑色区域被完整保留。

二、优化后的Blob检测

Blob检测对这种颜色单一、有一定面积的不规则区域非常有效,只要针对性设置过滤参数:

# 设置Blob检测参数
params = cv2.SimpleBlobDetector_Params()
# 只检测黑色区域(对应二值化后的白色区域,所以blobColor设为255)
params.filterByColor = True
params.blobColor = 255
# 过滤掉过小的噪声区域,根据实际图像调整面积范围
params.filterByArea = True
params.minArea = 1000
params.maxArea = 100000
# 忽略圆度,适配不规则涂绘
params.filterByCircularity = False

# 创建检测器并检测
detector = cv2.SimpleBlobDetector_create(params)
keypoints = detector.detect(binary)

# 获取坐标:每个keypoint的pt属性就是圆心坐标
for kp in keypoints:
    x, y = kp.pt
    print(f"黑色圆形坐标:({x:.2f}, {y:.2f})")

这里关闭了圆度过滤,专门适配不规则的涂绘,只要面积在合理范围内就能检测到目标。

三、轮廓检测(备选方案)

如果Blob检测效果不理想,用轮廓检测+质心计算也能精准获取坐标:

# 查找轮廓
contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓,筛选目标(这里假设只有一个黑色圆形,取面积最大的轮廓)
target_contour = max(contours, key=cv2.contourArea)
# 计算质心
M = cv2.moments(target_contour)
if M["m00"] != 0:
    cx = int(M["m10"] / M["m00"])
    cy = int(M["m01"] / M["m00"])
    print(f"黑色圆形质心坐标:({cx}, {cy})")
# 或者计算最小外接圆的圆心
(x, y), radius = cv2.minEnclosingCircle(target_contour)
print(f"黑色圆形外接圆圆心坐标:({x:.2f}, {y:.2f})")

这种方法对极不规则的涂绘兼容性更好,质心坐标能代表区域的中心位置。

四、霍夫圆检测(补充方案)

如果涂绘接近圆形,也可以尝试霍夫圆检测,调整参数适配不规则性:

circles = cv2.HoughCircles(gray, cv2.HOUGH_GRADIENT, dp=1.2, minDist=50,
                           param1=50, param2=30, minRadius=20, maxRadius=100)
if circles is not None:
    circles = np.uint16(np.around(circles))
    for i in circles[0, :]:
        print(f"检测到的圆形坐标:({i[0]}, {i[1]})")

调整param2(检测阈值)可以降低对圆度的要求,数值越小越容易检测到不规则的圆形。

内容的提问来源于stack exchange,提问作者PaulS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:21:01