OpenCV轮廓检测求助:如何精准识别图像轨迹而非传感器噪点
OpenCV Python:如何检测图像中的目标轨迹并排除传感器污渍
我具备一定的OpenCV使用经验,但在检测图像轮廓时遇到难题:目前能检测到的黑色圆形是传感器污渍,我真正需要识别的是下图中红色标注的目标轨迹。


我尝试过以下方法,但效果不尽人意:
- Canny边缘检测及
cv.ADAPTIVE_THRESH_GAUSSIAN_C方法(效果相对最佳),但参数难调且不同图像结果差异大; cv.fastNlMeansDenoising去噪、Canny前加高斯模糊,效果提升不明显。
检测液滴相对容易,但轨迹检测困难。我考虑过逐行扫描图像的方案,但觉得繁琐且不知如何入手。我使用Python版OpenCV,求解决建议。
补充信息
附上原始图像及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
相关产品推荐
相关产品推荐

