二维卷积-如何在Java中实现?
我已经把头撞在墙上好一阵子了。 我习惯于使用Matlab的二维卷积-如何在Java中实现?,java,arrays,image-processing,convolution,Java,Arrays,Image Processing,Convolution,我已经把头撞在墙上好一阵子了。 我习惯于使用Matlab的conv2函数,它自己进行卷积运算 然而,我无法在Java中正确地实现它。我会提供一个代码片段,但它都搞砸了。我会尽量把它弄清楚并发布出来(实际上现在是凌晨4:30,我还在为此挣扎着……) 有谁能发布一个在Java中对两个大小相同的二维数组进行二维卷积的工作代码方法吗 谢谢你 一点谷歌搜索不会有什么坏处。也许对你有帮助。特别是, public static double[][] convolution2D(double[][] input
conv2
函数,它自己进行卷积运算
然而,我无法在Java中正确地实现它。我会提供一个代码片段,但它都搞砸了。我会尽量把它弄清楚并发布出来(实际上现在是凌晨4:30,我还在为此挣扎着……)
有谁能发布一个在Java中对两个大小相同的二维数组进行二维卷积的工作代码方法吗
谢谢你 一点谷歌搜索不会有什么坏处。也许对你有帮助。特别是,
public static double[][] convolution2D(double[][] input,
int width, int height,
double[][] kernel,
int kernelWidth,
int kernelHeight) {
int smallWidth = width - kernelWidth + 1;
int smallHeight = height - kernelHeight + 1;
double[][] output = new double[smallWidth][smallHeight];
for (int i = 0; i < smallWidth; ++i) {
for (int j = 0; j < smallHeight; ++j) {
output[i][j] = 0;
}
}
for (int i = 0; i < smallWidth; ++i) {
for (int j = 0; j < smallHeight; ++j) {
output[i][j] = singlePixelConvolution(input, i, j, kernel,
kernelWidth, kernelHeight);
}
}
return output;
}
公共静态双[][]卷积2D(双[][]输入,
整数宽度,整数高度,
双[][]内核,
int内核宽度,
int内核高度){
int smallWidth=width-kernelWidth+1;
int smallHeight=height-kernelHeight+1;
双精度[]输出=新的双精度[smallWidth][smallHeight];
对于(int i=0;i
Re,“任何人都可以发布一个在Java中对两个相同大小的二维数组进行二维卷积的工作代码方法吗?”
:正如目前所写的,这不是一个真实的问题,而是一个不适合本网站的代码乞求。请在你的问题结束之前,通过显示你的代码并提出一个具体的可回答问题来改变这一点。说真的,一个粗略的谷歌搜索产生了确切的功能。我找到了,但找不到任何值得使用的东西。我将尝试这一部分。谢谢