Java 如何计算和显示拉普拉斯滤波图像

Java 如何计算和显示拉普拉斯滤波图像,java,image-processing,Java,Image Processing,我想知道如何计算和显示拉普拉斯滤波图像,例如下面的拉普拉斯滤波器 -1 6 -1 6 -20 6 -1 6 -1 请帮我做这个。非常感谢。非常感谢您对我的帮助。您询问了Java,但如果您指的是更基本的内容,我将尝试更笼统地回答 给定滤波器系数(拉普拉斯滤波器的近似值),将其应用于图像的方法是(假设滤波器是LSI线性空间不变的) 卷积可以在频域中直接计算(循环)(使用) 很少有需要考虑的事情(现实世界问题): 卷积“要求”图像以外的像素。因此,应施加边界条件(“图像

我想知道如何计算和显示拉普拉斯滤波图像,例如下面的拉普拉斯滤波器

-1    6   -1
 6  -20    6
-1    6   -1

请帮我做这个。非常感谢。非常感谢您对我的帮助。

您询问了Java,但如果您指的是更基本的内容,我将尝试更笼统地回答

给定滤波器系数(拉普拉斯滤波器的近似值),将其应用于图像的方法是(假设滤波器是LSI线性空间不变的)

卷积可以在频域中直接计算(循环)(使用)

很少有需要考虑的事情(现实世界问题):

  • 卷积“要求”图像以外的像素。因此,应施加边界条件(“图像以外的像素”为零、恒定、最近邻等)
  • 由于“滤波器瞬态”,卷积的结果大于输入图像。同样,应该做出合乎逻辑的决定
  • 如果您仅限于定点数学,则应在操作后进行适当的缩放(经验法则,用于保持图像的平均值,表示所有滤波器系数的总和应为1,因此您需要缩放)
  • 祝你好运。

    假设你能够逐像素扫描图像

    原始图像(大小)=结果图像(大小)
    
    对于(int i=1;iWe不是代码编写服务。请阅读。如果您创建一个简单的示例,我们可以帮助您解决问题。请参阅。
    Original_Image(size) =  Result_Image (size) 
    
    for( int i=1; i<Result_Image.rows-1;i++)  // ignore first and last rows to avoid going out of range
    {
      for( int i=1;i<Result_Image.cols-1;i++)
    {
         Result_Image(i,j)= -20*Result_Image(i,j)+6*(Result_Image(i-1,j)+Result_Image(i+1,j)+Result_Image(i,j-1)+Result_Image(i,j+1))-1*(Result_Image(i-1,j-1)+Result_Image(i+1,j+1)+Result_Image(i+1,j-1)+Result_Image(i-1,j+1));
    }
    
    }