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