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
在MATLAB上实现图像的arnold逆变换_Matlab_Image Processing - Fatal编程技术网

在MATLAB上实现图像的arnold逆变换

在MATLAB上实现图像的arnold逆变换,matlab,image-processing,Matlab,Image Processing,作为我项目的一部分,我刚刚在尺寸为NXM的图像上应用了arnold大小变换。现在,主要的问题是如何在尺寸为N*M的图像上执行arnold逆变换?这更像是一个谷歌问题,而不是编程问题,但这里有一个文件交换提交,它允许您计算Arnold正反变换。看看用来生成iminverse的代码,你就可以开始了 我没有任何信用,也没有测试过。它是由Prashan Premartane博士写的 %Written by Dr. Prashan Premaratne - University of Wollongong

作为我项目的一部分,我刚刚在尺寸为NXM的图像上应用了arnold大小变换。现在,主要的问题是如何在尺寸为N*M的图像上执行arnold逆变换?

这更像是一个谷歌问题,而不是编程问题,但这里有一个文件交换提交,它允许您计算Arnold正反变换。看看用来生成
iminverse
的代码,你就可以开始了

我没有任何信用,也没有测试过。它是由Prashan Premartane博士写的

%Written by Dr. Prashan Premaratne - University of Wollongong - 1 May 2006
%num specifies the number of Iterations for the Arnold Transform
function arnold(im,num)
[rown,coln]=size(im);
figure(1)
for inc=1:num
for row=1:rown
    for col=1:coln

        nrowp = row;
        ncolp=col;
        for ite=1:inc
            newcord =[1 1;1 2]*[nrowp ncolp]';
            nrowp=newcord(1);
            ncolp=newcord(2);
        end
        newim(row,col)=im((mod(nrowp,rown)+1),(mod(ncolp,coln)+1));

    end
end

end
imshow(newim)
figure(2)
[irown,icoln]=size(newim);
for inc=1:num
for irow=1:irown
    for icol=1:icoln

        inrowp = irow;
        incolp=icol;
        for ite=1:inc
            inewcord =[2 -1;-1 1]*[inrowp incolp]';
            inrowp=inewcord(1);
            incolp=inewcord(2);
        end
        iminverse(irow,icol)=newim((mod(inrowp,irown)+1),(mod(incolp,icoln)+1));

    end
end
imshow(iminverse)
end
%out=iminverse;

请注意,它接受灰度/二进制图像,因为
[rown,coln]=size(im)
会对RGB图像产生不想要的结果。

应该会有所帮助。@Parag S.Chandakkar:我想你还没有仔细阅读这个问题。你可以使用我提供的链接执行直接和反向Arnold变换。你想做反阿诺德变换。你认为我误解了问题的哪一部分?