Please let me know if i want column shuffling instead of rows what changes i must need in this code.
% for the color image, for even rows and cols
% Need to perform switching of rows at each channel
A = imread('Untitled.png');
[m, n, c] = size(A);
temp= zeros(m,n);
for i = 1 : c
A1 = A(:, :, i);
a1 = A1(1 : m/2, :);
a2 = A1(end: -1 : m/2+1, :);
temp(1:2:end,:) = a1;
temp(2:2:end,:) = a2;
A(:, :, i) = temp;
end

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 12 Mär. 2015
Bearbeitet: Andrei Bobrov am 12 Mär. 2015

0 Stimmen

A = imread('Untitled.png');
m = size(A);
out = zeros(m);
m1 = round(m(2)/2);
out(:,1:2:end,:) = A(:,1:m1,:);
out(:,2:2:end,:) = A(:,end:-1:m1+1,:);

Weitere Antworten (1)

Michael Haderlein
Michael Haderlein am 12 Mär. 2015
Bearbeitet: Guillaume am 12 Mär. 2015

0 Stimmen

Please use the {}Code button to make your code readable.
If this code is sorting the rows in the manner you want, you can change it to do the same with columns this way:
A = imread('Untitled.png');
[m, n, c] = size(A);
temp= zeros(m,n);
for i = 1 : c
A1 = A(:, :, i);
a1 = A1(:, 1 : n/2);
a2 = A1(:, end: -1 : n/2+1);
temp(:, 1:2:end) = a1;
temp(:, 2:2:end) = a2;
A(:, :, i) = temp;
end

Kategorien

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by