Splitting image in matlab

14 vues (au cours des 30 derniers jours)
Lucas  Buckels
Lucas Buckels le 28 Mar 2017
Need to split an image in matlab into 4 quadrants and swap the top left and bottom left quadrants

Réponses (3)

Walter Roberson
Walter Roberson le 28 Mar 2017
Hint: [end/2+1:end,1:end/2]

Image Analyst
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
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 Help Center et File Exchange

Tags

Aucun tag saisi pour le moment.

Community Treasure Hunt

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

Start Hunting!

Translated by