Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 积分图像边界处理_Algorithm_Image Processing_Feature Detection_Surf - Fatal编程技术网

Algorithm 积分图像边界处理

Algorithm 积分图像边界处理,algorithm,image-processing,feature-detection,surf,Algorithm,Image Processing,Feature Detection,Surf,我有一个积分图像,我从一个正常的灰度图像计算出来。我检查了一下,它看起来像这样: 现在我在积分图像上应用了一些盒子过滤器,例如SURF中使用的盒子过滤器 我现在的问题是,过滤器会在图像的各个角落做出反应。我认为这是由于过滤器箱的换档速度变慢造成的。所以现在我知道我必须实施一些边境管理。首先,我认为将Integralimage的第一行和第一列设置为零会有帮助,但没有帮助。 我在Stackoverflow上找到了这个: 如何将此技术应用于我的图像?在整体图像上构建一些边缘mirro、夹具等有意

我有一个积分图像,我从一个正常的灰度图像计算出来。我检查了一下,它看起来像这样:

现在我在积分图像上应用了一些盒子过滤器,例如SURF中使用的盒子过滤器

我现在的问题是,过滤器会在图像的各个角落做出反应。我认为这是由于过滤器箱的换档速度变慢造成的。所以现在我知道我必须实施一些边境管理。首先,我认为将Integralimage的第一行和第一列设置为零会有帮助,但没有帮助。 我在Stackoverflow上找到了这个:

如何将此技术应用于我的图像?在整体图像上构建一些边缘mirro、夹具等有意义吗?或者在计算积分图像之前,我应该用输入图像来做这件事吗?是否有人对此有经验,或者是否有一种典型的方法来处理此问题

编辑:

“相反,当你在边界上时,你想在你的过滤代码中做一些索引修改。”好的,现在我这样做,所以我只能重复我自己,IntegralImage的第一列和第一行是零

int GetBoxIntegral(int xUp, int yUp, int xBot, int yBot)
{
    yUp = Math.min(Math.max(0, yUp), m_integralImage.GetHeight() - 1); 
    xUp = Math.min(Math.max(0, xUp), m_integralImage.GetWidth() - 1);
    yBot = Math.min(Math.max(0, yBot), m_integralImage.GetHeight() - 1);
    xBot = Math.min(Math.max(0, xBot), m_integralImage.GetWidth() - 1);



    int A = 0, B = 0, C = 0, D = 0;
    A = m_integralImage.GetPixel(xUp, yUp);
    B = m_integralImage.GetPixel(xBot, yUp);
    C = m_integralImage.GetPixel(xUp, yBot);
    D = m_integralImage.GetPixel(xBot, yBot);

    return Math.max(0, A + D - B - C);
}
1) “如何将此技术应用于我的Integralimage的最佳方法?”这完全取决于您想要的结果。例如,对于特征检测,捕捉边界附近的像素是没有意义的,所有过滤器都应该位于图像内部

2) “在积分图像上构建一些边缘mirro、climp等有意义吗?或者我应该在计算积分图像之前使用输入图像进行此操作吗?”构建带边框的积分图像的速度越快,计算量越少


3) “有没有人有过这样的经验,或者有没有一种典型的方法来处理这个问题?”我知道两种典型的解决方案。首先,忽略所有需要图像外部计算的像素(特征检测)。第二,钳制整型图像查询的矩形(框模糊过滤器)。

谢谢你的回答,现在我在边界处镜像图像。工作正常,但需要更多的内存用于整体图像。忽略需要来自图像外部的信息的点听起来似乎是合理的。Think将实现它,以便您可以同时做到这两个方面。镜像版本会使兴趣点的数量增加很多。