显微图像中的圆圈检测(有噪音)

问题描述 投票:0回答:1

我正在开展一个项目,我必须开发自动显微镜。我需要一种算法来识别圆圈。我能够得到一种可以处理噪声并找到圆圈的算法,但是如果实验设置发生一点变化,它就不再适用于不调整参数(不是我想要的)。

我尝试了多种方法,最有效的方法是使用 CLAHE,然后模糊图像。之后我在霍夫圆上运行结果。我将展示一个例子。 这是原始数据,不适用于当前算法:

raw data

应用 CLAHE 后我得到:

CLAHE image

霍夫圆只能找到一个圆:

circle detection

另一种方法是使用直方图均衡化:

equilize histogram on raw data

这将给出更清晰的圆,但霍夫圆根本不起作用。有时我会做一些gainDivision来去除背景,然后只应用直方图均衡:

增益除法后均衡直方图

直方图均衡总是可以提高对比度,所以我的想法是将 CLAHE 切换到此,但我无法做到。

此网站https:// Fiveko.com/online-tools/hough-circle-detection-demo/适用于直方图均衡后的每个数据。

有人可以提供一种方法来检测均衡直方图图像中的圆圈吗?如果没有它,由于噪音会在背景中产生随机圆圈。

更新:决定采用AI算法

python opencv image-processing computer-vision
1个回答
0
投票

我能做的最好的事情就是调整 GaussianBlur 和 HoughCircles 以适应您提供的一张 eqi-hist 图像。希望它比看起来更通用,并且能以某种方式帮助您。

blur = cv2.GaussianBlur(gray, (11, 11), 0)
circles = cv2.HoughCircles(blur, cv2.HOUGH_GRADIENT, 1, 20, 
                           param1=180, param2=17, minRadius=2, maxRadius=50)

Result

© www.soinside.com 2019 - 2024. All rights reserved.