I want a matrix to be represented in the form of an array
    3 views (last 30 days)
  
       Show older comments
    
    akash bais
 on 22 Dec 2016
  
    
    
    
    
    Edited: Roger Stafford
      
      
 on 22 Dec 2016
            I want a image matrix 512x512 to be represented in the array form or simply in a straight line while scanning the matrix in inverse S way. I have attached an image to make it clear
2 Comments
Accepted Answer
  Roger Stafford
      
      
 on 22 Dec 2016
        
      Edited: Roger Stafford
      
      
 on 22 Dec 2016
  
      Here are the “Pixel Scan” and “Rearrange” operations:
% Let M be the m by n image matrix
% Pixel Scan:
M = M.';
M(:,2:2:end) = flipud(M(:,2:2:end)); % Flip even columns
M = M(:);  % The result is a column vector
Then perform the “Difference computation”, the “Histogram shifting” and the “Embedding” on M.
% Now M is still a column vector
% Rearrange:
M = reshape(M,n,m); % <-- Note the reversal of sizes here
M(:,2:2:end) = flipud(M(:,2:2:end));  % Flip even columns
M = M.';
% M is again an m by n image matrix.
The "Difference computation" is an obvious use of the ‘diff’ function. I have no idea how to do the “Histogram shifting” or the “Embedding”.
0 Comments
More Answers (1)
See Also
Categories
				Find more on Histograms in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


