我的图像非常嘈杂、很小(相关部分是 381∼∼∼314),而且特征非常微妙。
源图像和裁剪后的相关区域也在这里:http://imgur.com/a/O8Zc2
任务是使用 Python 计算相关区域内白色点的数量,但我很乐意只隔离区域内较亮的点和线并移除背景结构(在本例中为单元格)。
使用 OpenCV,我尝试了直方图均衡化(破坏了细节)、寻找轮廓(没有用)、使用颜色范围(颜色太接近?)
对于其他可以尝试的事情有什么建议或指导吗?我不相信我可以获得更高分辨率的图像,那么使用相当困难的来源是否可以完成这项任务?
最佳答案
(这不是 Python 的答案,因为我从未使用过 Python/OpenCV 绑定(bind)。下面的图像是使用 Mathematica 创建的。但我只使用了基本的图像处理函数,因此您应该能够在自己学 Python。)
图像处理中一个非常普遍的“技巧”是考虑删除您正在寻找的东西,而不是实际寻找它。因为通常,删除它比找到它容易得多。例如,您可以应用 morphological opening , median filter或 gaussian filter对它:
这些过滤器有效地去除了小于过滤器大小的细节,并或多或少地保留了较粗糙的结构。所以你可以只取原始图像的不同并寻找局部最大值:
(您必须尝试使用不同的“细节去除过滤器”和过滤器大小。仅凭一张图像无法判断哪个效果最好。)
关于opencv - 使用 OpenCV 对小而嘈杂的图像进行特征检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24293416/