检测图像上的相当亮的点 [英] detect quite brighter spots on the image

查看:125
本文介绍了检测图像上的相当亮的点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个有点嘈杂的图像,背景是不均匀的。图像包含brigther凸点,我需要检测他们。
以下是示例图片的链接:





我知道有很多圈检测算法,但环境和对象之间的差异太小。
你有什么建议,如何区分brigther现货?



OpenCV环境是C ++。我尝试了许多参数的自适应阈值。结果如下:





这不坏,但图像包含许多其他黑点。

解决方案

一般来说,该技术是使图像模糊,使得小尺度细节变得不相关,并且仅保留背景照明中的大规模差异。



我首选的工具是ImageMagick,但原理是相同的OpenCV。在这里,我克隆你的原始图像,模糊它超过8像素,然后从原来减去模糊的图像:

  convert http: /s8.postimg.org/to03oxzyd/example_image.png \(+ clone -blur 0x8 \)-compose difference -composite -auto-level out.jpg 

>



这里我模糊了超过32像素,并从原来的模糊图像中减去:

 转换http://s8.postimg.org/to03oxzyd/example_image.png \(+ clone -blur 0x32 \)-compose difference -composite -auto-level out32.jpg 

p>

I have a bit noisy image where the background is not homogeneous. The image contains brigther convex spots, and I need to detect them. Here's a link for an example image:

I know there is a lot of circle detection algorithm, but the difference between the environment and the object is too small. Do you any suggestion, how to segment the brigther spot? Or any idea to increase the intensity difference between them?

update:

the OpenCV environment is C++. I tried the adaptive threshold with many parameters. Here's the result:

It is not bad, but the image contains a lot of other black spots. And sometimes the spots area near the same as the object, so in that way I can't distinguish later.

解决方案

Generally, the technique is to blur the image so that small-scale details become irrelevant and only large-scale differences in the background illumination are retained. You then subtract the blurred image from the original to remove the uneven illumination, leaving only the localised features visible.

My preferred tool is ImageMagick, but the principle is the same in OpenCV. Here I clone your original image, blur it over 8 pixels and then subtract the blurred image from the original:

convert http://s8.postimg.org/to03oxzyd/example_image.png \( +clone -blur 0x8 \) -compose difference -composite -auto-level out.jpg

And here I blur over 32 pixels, and subtract the blurred image from the original:

convert http://s8.postimg.org/to03oxzyd/example_image.png \( +clone -blur 0x32 \) -compose difference -composite -auto-level out32.jpg

这篇关于检测图像上的相当亮的点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆