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
Image processing 高斯-拉普拉斯算子_Image Processing_Filtering_Laplacianofgaussian - Fatal编程技术网

Image processing 高斯-拉普拉斯算子

Image processing 高斯-拉普拉斯算子,image-processing,filtering,laplacianofgaussian,Image Processing,Filtering,Laplacianofgaussian,我在实现日志内核时遇到问题。我试图实现θ=1.4的9x9内核,如本链接所示 然而,我对公式本身有困难。如果有人能告诉我如何计算中心,即使用什么x和y值,以便在9x9内核中获得-40,我将不胜感激 您不必担心公式,它只用于生成系数。您只需将这些9x9系数应用于图像 示例(未测试的代码!): const int K=9; 常数int K2=K/2; 常数int NORM=500;//归一化滤波器增益常数 常数int系数[K][K]={…}; int in_图像[M][N]; int out_图像[M

我在实现日志内核时遇到问题。我试图实现θ=1.4的9x9内核,如本链接所示


然而,我对公式本身有困难。如果有人能告诉我如何计算中心,即使用什么x和y值,以便在9x9内核中获得-40,我将不胜感激

您不必担心公式,它只用于生成系数。您只需将这些9x9系数应用于图像

示例(未测试的代码!):

const int K=9;
常数int K2=K/2;
常数int NORM=500;//归一化滤波器增益常数
常数int系数[K][K]={…};
int in_图像[M][N];
int out_图像[M][N];
对于(i=K2;i对于(di=-K2;di最近我实现了日志过滤器,
你唯一需要的是公式和sigma作为参数。
如果需要固定大小的掩码,可以将过滤器掩码值存储在矩阵中并使用它,
或者每次重新计算并创建所需的矩阵。
过滤器的大小取决于sigma值,如果使用的大小大于sigma值,则没有意义,因为超出某个最大大小的其余部分使用该公式计算为零。
例如,您得到一个过滤器大小=9X9
然后为了计算滤波器本身作为矩阵,
您需要通过以下值运行公式:

int halfsize = size / 2;    
for (int x = -halfsize; x < halfsize; ++x)
   for (int y = -halfsize; y < halfsize; ++y)
       mask[x][y] = LoGFunction(x, y);
int halfsize=size/2;
对于(int x=-halfsize;x
差不多吧。 这也意味着过滤器大小必须是奇数。 希望这有帮助。 就你而言, 尺寸=9 西格玛=1.4 x和y从-4变为4。 在点(0,0)处使用公式(它是过滤器的中心) 你得到了接近-12的结果

但是如果你把sigma设为0.2986 你将得到接近-40的所需答案。 我也不明白为什么写着西格玛值等于1.4 May ba我错过了一些东西。。
如果我犯了错误,请纠正我。

你不能在两个戳记上打三个戳记……x和y指的是像素的坐标。啊。但我很好奇,也很着迷,sigma=1.4的9x9内核是如何用这个公式生成的?就我而言,我无法得到任何一个应用它的值。检查它的最简单方法就是看一下在y=0的情况下,看看x的值。似乎有一个大约483的比例因子。因此,如果你计算y=0的483*LoG(x,y),x=-4..+4,你应该会发现你得到了正确的值。(我只是用电子表格检查了一下,它看起来是正确的。)如果您想更进一步,您当然可以计算内核的y=-4..+4,x=-4..+4,但我把它留给读者作为练习…;-)是的。你说得对。我5分钟前就知道了。缩放因子就是。它和其他任何东西都不一样。非常感谢保罗,非常感谢你的帮助。那么为什么要使用缩放因子,以及它如何影响结果图像?(如果我使用浮点数据类型图像结构)@maximus:大多数图像处理都使用整数(定点)算术。图像通常是整数值,我们选择整系数和隐式比例因子将所有算术保持在整数域中。如果您的应用程序性能不高,或者由于图像格式的原因,您已经使用浮点,那么您可以只使用浮点系数和drop表示比例因子。
int halfsize = size / 2;    
for (int x = -halfsize; x < halfsize; ++x)
   for (int y = -halfsize; y < halfsize; ++y)
       mask[x][y] = LoGFunction(x, y);