Java 如何计算逐行/逐列乘法?
我试图理解如何使用可分性属性实现快速傅里叶变换 书中的图像:冈萨雷斯,R.C.,和R.E.伍兹。“数字图像处理,第4版全球版。” 根据这一点,据我所知,我们必须像这样计算复正弦波值的矩阵:Java 如何计算逐行/逐列乘法?,java,image-processing,matrix,fft,Java,Image Processing,Matrix,Fft,我试图理解如何使用可分性属性实现快速傅里叶变换 书中的图像:冈萨雷斯,R.C.,和R.E.伍兹。“数字图像处理,第4版全球版。” 根据这一点,据我所知,我们必须像这样计算复正弦波值的矩阵: Complex[] F = new Complex[i.width*i.height]; for (int x=0;x<i.img.length;x++){ F[x] = new Complex(); double theta = -2 * Math.P
Complex[] F = new Complex[i.width*i.height];
for (int x=0;x<i.img.length;x++){
F[x] = new Complex();
double theta = -2 * Math.PI * (x/(double)i.img.length);
F[x] = new Complex(Math.cos(theta), Math.sin(theta));
}
int chunk = image.width;
for(int f=0;f<F.length;f+=chunk){
row = Arrays.copyOfRange(F, f, Math.min(F.length,f+chunk));
for(int k=0; k < row.length; k++){
row[k] = row[k].mul(image[k]);
clone[k] = (byte) row[k].r;
}
}
Complex[]F=新的Complex[i.width*i.height];
对于(int x=0;x