??? Index exceeds matrix dimensions
2 次查看(过去 30 天)
显示 更早的评论
why do I get the error ??? Index exceeds matrix dimensions.
Error in ==> ImagExperiment at 38 g=rgb{N}(:,:,2); when trying to run the code:
A=cell(1,Num);
rgb=cell(1,Num);
for N=1:Num
rgb{N} = imread(sprintf('test_image_%d.png', N));
r=rgb{N}(:,:,1);
g=rgb{N}(:,:,2);
b=rgb{N}(:,:,3);
end
How can I solve this problem?
Your support will be well-appreciated. Thanks.
0 个评论
采纳的回答
Jan
2013-3-11
The error appears, if the corresponding picture is a grayscale image. So test this at first:
aRGB = imread(sprintf('test_image_%d.png', N));
if ndims(aRGB) == 3
r = aRGB(:, :, 1);
g = aRGB(:, :, 2);
b = aRGB(:, :, 3);
else
... any code to catch gray scale images, which are matrices
end
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!