gpt4 book ai didi

c# - 检测图像中的峰值

转载 作者:太空宇宙 更新时间:2023-11-03 15:01:26 25 4
gpt4 key购买 nike

我有一大组种子的红外图像,它们的大小略有不同。我想找到他们(以最快的方式)。下面我放大了我处理的图像的细节。在第一次噪声去除和 blob 过滤器之后,这就是我所拥有的: enter image description here

明亮的白色只是 IR 灯的直接反射,白色像素永远不会在多个种子上组合(拉伸(stretch))。

为了更清楚地说明,我在一些单独的种子上写了一封信。 enter image description here

我遇到的问题:

  • A是单粒种子(种子上有污垢)会产生一条轻微的黑线。
  • B 靠近它的附近 X 在其最暗的交点处它仍然像其他一些种子一样亮(如果灰度值低于某个值,则不能更改亮度或删除。
  • C 这些是 3 个彼此靠近的种子。
  • 上面最小的可见种子不应变得更小。

我没有使用 mathlab 或 openCV,因为我直接使用锁定的图像和内存数据。我可以通过数组或简单的 getpixel/putpixel 命令访问像素数据。我写了自己的图形库,它对实时摄像头数据足够快,处理速度目前在 13ms 左右,在 25ms 左右我进入流处理滞后

我想知道如何更好地分离那些“混浊”的 Blob 。我正在考虑在某个像素范围内找到局部最大值..但是应该将 A 视为一个种子,而在 B 上发现 B 和 X 没有连接。所以我在这里不确定,这样的本地 peek 功能或其他功能应该如何。尽管我用 C# 编写代码,但我也查看了其他 C++ 函数以及扩张等,但仅此而已。我还写了一个函数来检查坡度(比如它是否是山高图像)但是不能划分区域 B 和 C。

好吧,我制作了不同的斜率检测代码,现在我不寻找某种程度,而只是寻找小范围内的倾斜点,它在 X 轴上工作得很好..但基本上我认为它应该在 X 和 Y 上工作这是新结果: enter image description here它可以解决问题 A 和 B!!!

然而,它不会区分在垂直行中对齐的种子,并且会产生小的白噪声(非连接线)。在几乎没有什么可检测的地方。我还不确定如何在 Y 轴上执行相同的操作(组合)以获得顶部,然后从顶部的特定距离处删除内容..(分离)。

使用这段代码只是展示了它的像素操作。

 for (int y =  raw.Height;y>5; y--)
{slopeUP = false;
int[] peek = new int[raw.Width];
for (int x = raw.Width; x> 7; x--)
{
int a = raw.GetPixelBleu(x, y);
int b = raw.GetPixelBleu(x - 1, y);
int c = raw.GetPixelBleu(x - 2, y);
int d = raw.GetPixelBleu(x - 11, y);
int f = raw.GetPixelBleu(x - 12, y);

if ((f + d) > (a + b))slopeUP = true;

if ((f + d) < (a + b))
{
if (slopeUP)
{
slopeUP = false;
peek[x - 6] = 10;
//raw.SetPixel(x, y, Color.GreenYellow);
}
else peek[x - 6] = 0;
}

}
for (int x = raw.Width; x > 7; x--)
{ if (peek[x-1] > 5) raw.SetPixel(x, y, Color.Lavender); }
}

最佳答案

在此SO answer对于类似的问题,我应用持久同源性来查找图像中的峰值。我拍了your image ,将其缩小到 50%,应用半径为 20 的高斯模糊(在 Gimp 中),并应用另一篇文章中描述的方法(点击放大):

Result

我只显示至少 20 的持久性峰值(参见其他 SO 答案)。持久性图显示如下:

Persistence diagram

第 20 个峰值将是左上角的小峰值,持续时间约为 9。通过应用更强的高斯滤波器,图像变得更加分散,峰值将变得更加突出。

可以找到Python代码here .

关于c# - 检测图像中的峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46000842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com