How do i split an array in to quarters?

6 Ansichten (letzte 30 Tage)
mark
mark am 17 Nov. 2013
Beantwortet: Image Analyst am 17 Nov. 2013
I need to:
Read the image file into Matlab. Split the array into quarters along the longer (628) axis. For the first quarter, generate a one-dimensional array containing the sum of the brightness of all the pixels in the now- quartered dimension, computed at each position in the shorter (470) dimension. This array should have 470 elements. Repeat this for the other three quarters.
I don't know how to split the array or the following steps
Help please

Antworten (2)

Walter Roberson
Walter Roberson am 17 Nov. 2013
Bearbeitet: Walter Roberson am 17 Nov. 2013
Q{1} = YourImage(1:end/2, 1:end/2);
Q{2} = YourImage(end/2+1:end, 1:end/2);
Likewise for the other two quarters.

Image Analyst
Image Analyst am 17 Nov. 2013
You forgot to tag it as homework, so I did it for you.
I'll assume the longer dimension is the x or columns dimension and it's a grayscale image. Then here's some hints
[rows, columns, numberOfColorChannels] = size(theImage);
% Get the middle 3 columns to divide the array at.
dividingCols = round([1,2,3] .* columns / 4)
% Do the third quarter. All rows in the third quarter lengthwise.
quarter3 = theImage(:, dividingCols(2):end);
theSum = sum(quarter3(:))

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by