Java 图像卷积问题

Java 图像卷积问题,java,image,mask,convolution,Java,Image,Mask,Convolution,我正在用Java实现我自己的图像卷积方法,它应该是通用的,所以我可以通过它运行任何内核。它工作,我能够输出东西,但输出是错误的。图像的右侧显示在左侧,并且图像似乎以不同的强度在整个图像中重复三次。无论我运行的内核是什么(我已经尝试过9x9和标准3x3),这种情况都会发生,并且会发生非常类似的情况。我已经玩了这个,改变了一切让它工作,但它仍然表现不正确 for (int i = 0; i < (image.getWidth()-mask.length); i++) { for

我正在用Java实现我自己的图像卷积方法,它应该是通用的,所以我可以通过它运行任何内核。它工作,我能够输出东西,但输出是错误的。图像的右侧显示在左侧,并且图像似乎以不同的强度在整个图像中重复三次。无论我运行的内核是什么(我已经尝试过9x9和标准3x3),这种情况都会发生,并且会发生非常类似的情况。我已经玩了这个,改变了一切让它工作,但它仍然表现不正确

for (int i = 0; i < (image.getWidth()-mask.length); i++)
    {
    for (int j = 0; j < (image.getHeight()-mask.length); j++)
    {
        int sum = 0;

        for (int w = 0; w < mask.length; w++) 
        {
            for (int z = 0; z < mask.length; z++) 
            {
               sum += arr[w + i][z + j] * mask[w][z];   
            }
        }    
        if(sum < 170)
       {
            convArray[i][j] = 0;
       }
        else
       {
            convArray[i][j] = 255;
       }
for(int i=0;i<(image.getWidth()-mask.length);i++)
{
对于(int j=0;j<(image.getHeight()-mask.length);j++)
{
整数和=0;
对于(int w=0;w
我看不出这种卷积方法有什么问题。填充后,您如何处理
convArray
?您确定图像的显示方式没有问题吗?这将非常慢。看看我在C-。