我有示例图像处理代码,该代码使用以下内核在图像上应用了卷积滤波器:

float kernel[] = {-1,0,1};


以及过滤器的应用:

new ConvolveOp(new Kernel(1,3, kernel), ConvolveOp.EDGE_NO_OP, null).filter(copy, img);


我想知道处理非方形内核矩阵时,ConvolveOp的行为如何?据我所知,在卷积算法中必须使用具有奇数行的方阵。

PS。我以为它(java)可以用零填充(例如{0,0,0,-1,0,1,0,0,0}),但我的情况更为复杂,我们也可以使用这种形式的内核没有运行时错误:

    float data[] = {
        -1,0,1,
        -1,0,1,
        -1,0,1,
        -1,0,1
    };


不能填充为奇数行的正方形。

谢谢

最佳答案

没有什么可以说卷积核必须是方阵。

07-24 16:03