使用OpenCV在小而嘈杂的图像上进行特征检测

时间:2014-06-18 19:15:10

标签: opencv image-processing image-recognition edge-detection noise-reduction

我的图像非常嘈杂,很小(相关部分为381×314),而且功能非常微妙。

relevant area

源图像和裁剪的相关区域也在这里:http://imgur.com/a/O8Zc2

任务是使用Python计算相关区域内的白点数,但我很高兴只需隔离区域内的较亮点和线并删除背景结构(在本例中为单元格)。

使用OpenCV我尝试过直方图均衡(破坏细节),找到轮廓(不起作用),使用颜色范围(颜色太近了?)

有关其他事项的任何建议或指导吗?我不相信我能获得更高分辨率的图像,所以这项任务是否可以使用相当困难的资源?

1 个答案:

答案 0 :(得分:12)

(这不是Python的答案,因为我从未使用过Python / OpenCV绑定。下面的图片是使用Mathematica创建的。但我只是使用了基本的图像处理功能,所以你应该能够实现它Python自己。)

非常通用的"技巧"在图像处理中,要考虑删除您正在寻找的东西,而不是实际寻找它。因为经常删除它比找到它容易得多。例如,您可以对其应用morphological openingmedian filtergaussian filter

enter image description here

这些过滤器可有效去除小于过滤器尺寸的细节,并使较粗糙的结构或多或少保持不变。因此,您可以从原始图像中获取差异并查找局部最大值:

enter image description here

(您必须使用不同的"详细信息删除过滤器"以及过滤器尺寸。只有一张图片无法判断哪一种效果最佳。)

相关问题