??? Index exceeds matrix dimensions. please help me
3 次查看(过去 30 天)
显示 更早的评论
[m n]=size(handles.data1);%menentukan ukuran citra
for o=1:m
for p=1:n
if o<0
o=1;
end
if p<0
p=1;
end
[d c l]=size(handles.data1);
masuk_enkripsi=double(handles.data1(p:p+d-1,o:o+c-1,:));
??? Index exceeds matrix dimensions.
Error in ==> enkripsi>btn_enkripsi_Callback at 148
masuk_enkripsi=double(handles.data1(p:p+d-1,o:o+c-1,:));
2 个评论
ChristianW
2013-3-11
What are you trying to do in this line:
masuk_enkripsi=double(handles.data1(p:p+d-1,o:o+c-1,:));
采纳的回答
ChristianW
2013-3-2
With your image height d and if p gets p=2, then you are trying to address with (p+d-1) the (d+1) pixel. Thats not possible.
2 个评论
ChristianW
2013-3-3
Yes, I've got an infinite amount of solutions. I'll rub my crystal ball for visions regarding the purpose of your code.
更多回答(2 个)
Jan
2013-3-4
It is confusing to change the loop counter of A FOR loop inside the loop.
Using lowercase and uppercase Oh's as names of variables is confusing also: "if o<0" looks funny, but is to hard to read.
I confirm, that CristianW's answer is exhaustive: Obviously either p+d-1 and/or d+1 exceed the available size. But it is impossible to guess what you want to do instead.
2 个评论
Walter Roberson
2013-3-11
In your line
[m n]=size(handles.data1);%menentukan ukuran citra
you are using size() as if you expect handles.data1 to be two-dimensional. But later you have
[d c l]=size(handles.data1);
which is expecting handles.data1 to be 3 dimensional. If it is 3 dimensional then when you ask for its size() using only two outputs (e.g., [m n]) then size() will set the second output equal to the product of the second and third dimensions -- so although m would be the same as the later d, n would be the product of c and l. This is going to lead to problems when you do your looping over "n" and try to use that value as the index to the second dimension.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!