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

OpenCV轮廓检测求助:如何精准识别图像轨迹而非传感器噪点

OpenCV Python:如何检测图像中的目标轨迹并排除传感器污渍

我具备一定的OpenCV使用经验,但在检测图像轮廓时遇到难题:目前能检测到的黑色圆形是传感器污渍,我真正需要识别的是下图中红色标注的目标轨迹。

检测到的传感器污渍
红色标注的目标轨迹

我尝试过以下方法,但效果不尽人意:

  • Canny边缘检测及cv.ADAPTIVE_THRESH_GAUSSIAN_C方法(效果相对最佳),但参数难调且不同图像结果差异大;
  • cv.fastNlMeansDenoising去噪、Canny前加高斯模糊,效果提升不明显。

检测液滴相对容易,但轨迹检测困难。我考虑过逐行扫描图像的方案,但觉得繁琐且不知如何入手。我使用Python版OpenCV,求解决建议。

补充信息

附上原始图像及CLAHE增强对比度后的裁剪图:
原始图像
CLAHE增强后的裁剪图

CLAHE实现代码如下:

def inc_contrast(img,  cLimit=100.0, tGridSize=21):
    # converting to LAB color space
    lab = cv.cvtColor(img, cv.COLOR_BGR2LAB)
    l_channel, a, b = cv.split(lab)

    # Applying CLAHE to L-channel
    clahe = cv.createCLAHE(clipLimit=cLimit, tileGridSize=(tGridSize, tGridSize))
    cl = clahe.apply(l_channel)

    # merge the CLAHE enhanced L-channel with the a and b channel
    limg = cv.merge((cl, a, b))

    # Converting image from LAB Color model to BGR color spcae
    enhanced_img = cv.cvtColor(limg, cv.COLOR_LAB2RGB)
    return enhanced_img

将CLAHE处理后的图像在GIMP中做去斑(半径3、黑电平7、白电平248)和高斯差分(半径1=10、半径2=4.2、不透明度100)后效果较好,但想在Python/OpenCV中完成所有处理。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:02:14