I want a matrix to be represented in the form of an array
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
akash bais
am 22 Dez. 2016
Bearbeitet: Roger Stafford
am 22 Dez. 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 Kommentare
Akzeptierte Antwort
Roger Stafford
am 22 Dez. 2016
Bearbeitet: Roger Stafford
am 22 Dez. 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 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Histograms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!