Splitting image in matlab
31 views (last 30 days)
Show older comments
Need to split an image in matlab into 4 quadrants and swap the top left and bottom left quadrants
0 Comments
Answers (3)
Image Analyst
on 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);
0 Comments
Guillaume
on 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)');
0 Comments
See Also
Categories
Find more on Image Processing and Computer Vision in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!