Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何计算逐行/逐列乘法?_Java_Image Processing_Matrix_Fft - Fatal编程技术网

Java 如何计算逐行/逐列乘法?

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

我试图理解如何使用可分性属性实现快速傅里叶变换

书中的图像:冈萨雷斯,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.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