Splitting image in matlab
Afficher commentaires plus anciens
Need to split an image in matlab into 4 quadrants and swap the top left and bottom left quadrants
Réponses (3)
Walter Roberson
le 28 Mar 2017
0 votes
Hint: [end/2+1:end,1:end/2]
Image Analyst
le 28 Mar 2017
Did you try indexing/assignment:
rgbImage = imread('peppers.png'); % Read input image
% Get the dimensions of the image.
% numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image.
[rows, columns, numberOfColorChannels] = size(rgbImage);
outputImage = rgbImage; % Initialize
middleRow = ceil(rows/2);
middleColumn = ceil(columns/2);
% Paste lower left onto upper left.
outputImage(1:middleRow, 1:middleColumn, :) = rgbImage(middleRow+1:end, 1:middleColumn, :);
% Paste upper left onto lower left.
outputImage(middleRow+1:end, 1:middleColumn, :) = rgbImage(1:middleRow, 1:middleColumn, :);
imshow(outputImage);
Guillaume
le 28 Mar 2017
Another way:
[height, width, ~] = size(yourimage);
splitimage = mat2cell(yourimage, [ceil(height/2), floor(height/2)], [ceil(width/2), floor(width/2)], size(yourimage, 3));
swappedimage = cell2mat(rot90(splitimage, 2)');
Catégories
En savoir plus sur Image Data Workflows dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!