Splitting image in matlab

35 Ansichten (letzte 30 Tage)
Lucas  Buckels
Lucas Buckels am 28 Mär. 2017
Beantwortet: Guillaume am 28 Mär. 2017
Need to split an image in matlab into 4 quadrants and swap the top left and bottom left quadrants

Antworten (3)

Walter Roberson
Walter Roberson am 28 Mär. 2017
Hint: [end/2+1:end,1:end/2]

Image Analyst
Image Analyst am 28 Mär. 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 am 28 Mär. 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)');

Kategorien

Mehr zu Image Processing and Computer Vision finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Community Treasure Hunt

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

Start Hunting!

Translated by