Index exceeds matrix dimensions.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
pushk dfd
am 21 Jan. 2014
Kommentiert: pushk dfd
am 5 Feb. 2014
Dear All,
Good Day to you.I am trying to crop an image using the following method.I want to subdivide an image into components.My code is as follows.| |
a=imread('E:\a1.jpg'); [col row]=size(a); col
col =
119
row
row =
345
croped=a(1:119,1:116,:);
- _??? Index exceeds matrix dimensions.
I get an error message shown above, when try to crop using the above values.And error message is not there for certain values. Please help me to solve this.
Thanks in advance.
1 Kommentar
Akzeptierte Antwort
Image Analyst
am 22 Jan. 2014
Rows is the first index, columns is the second. You had them swapped when you did this:
croped=a(1:119,1:116,:); % col, row instead of row, col like it should be
In addition, you can read about the size function in Steve's blog http://blogs.mathworks.com/steve/2011/03/22/too-much-information-about-the-size-function/, which essentially say what Jan said.
0 Kommentare
Weitere Antworten (2)
Jan
am 21 Jan. 2014
Bearbeitet: Jan
am 21 Jan. 2014
What do you get for:
[col, row, channel] = size(a)
If you specify less outputs than the array has, the last one is the product of the remaining dimensions. If a is an RGB image, its dimensions are:
[119 x 115 x 3]
Therefore [s1,s2] = size(a) replies s1=119, s2=115*3.
2 Kommentare
Siehe auch
Kategorien
Mehr zu Image Processing Toolbox 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!