morton scanning for image size of 256*256 .
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
i found out this as for 4*4 matrix from matlab central
 clc;
 clear all;
 close all ;
 n=2;
 ind=morton(n);
 a=reshape(1:4^n,2^n,2^n);
 disp(a)
here is the matlab function
 function ind=morton(n);
 % MORTON(N) return the morton permutation order for array of size 2^N
 % e.g.
 % n=2;
 % matrix size is 2^n
 % ind=morton(n);
 % d=fix(rand(2^n,2^n)*10);
 % disp(d)
 % disp(d(ind))
 linind4=(1:4^n)-1; %start index count for array at zero
 ind4str=dec2base(linind4,4); %convert indices to base-4
 b1=dec2bin(str2num(ind4str(:,1))); %split each base-4 into two base-2numbers
 b2=dec2bin(str2num(ind4str(:,2)));
 rb=[b1(:,1) b2(:,1)]; %the rows are given by the first bits of b1 and
 b2
 cb=[b1(:,2) b2(:,2)]; %the columns are given by the second bits of b1 and b2
 r=bin2dec(rb)+1; %convert the row from bit to decimal
 c=bin2dec(cb)+1; %convert column
 ind=[2^n*(c-1)+r]'; %make a linear row index into array for easyaddressing
 %morton.m ends
----------------------------------------------------
i require to do this for whole image with out looping infinitely ..
can you please any one give the way by block processing
回答(1 个)
  Walter Roberson
      
      
 2012-3-2
        6 个评论
  Walter Roberson
      
      
 2012-3-7
				For the purpose of your morton code, n should be 8.
But that doesn't have anything to do with the code I referred you to, which is the code you asked about in your comment here. Do not use both routines together: only use one of them.
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Construct and Work with Object Arrays 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

