whlnc 发表于 2009-5-7 16:33

Matlab程序运行出错Index exceeds matrix dimensions

大家好:最近学习编程,总是碰到下面的问题,希望得到大家的帮助!!!
??? Index exceeds matrix dimensions.
Error in ==> cluster at 61
hsv{i}=rgb_background(:,:,i)'
下面是部分程序代码:
%%初始部分,读取图像及计算相关信息
close all;
clear;
clc;
rgb_background=imread('E:\MATLAB6p5\work\我的程序\ga_fcm_levelset\Lenna.bmp');
mRow=size(rgb_background,1); %numers of lines
nColumn=size(rgb_background,2);%numers of rows
n=mRow*nColumn ;            %numers of x points
if size(rgb_background,3)==1; % determine the numbers of x's dimensions
    D=2;
else D=3;
end
%hsv_background=rgb2hsv(rgb_background);
for i=1:D;   % dimension of x=
hsv{i}=rgb_background(:,:,i)';
%hsv{i}=hsv_background(:,:,i)';
x(:,i)=;
end
%以上为读取图片中的三维数据
我写的程序是有关聚类算法,对图像进行分割,这是最开始的部分,希望将图像数据用一个变量x 表示,以便后面的分割。

ChaChing 发表于 2009-5-7 17:45

Ref :
12F 常见的程序出错问题整理 (eight)
http://forum.vibunion.com/forum/thread-46001-1-1.html

friendchj 发表于 2009-5-7 17:50

看一下rgb_background,就知道错在何处了(这种错误,楼主可以自己调试出来的):
>> whos rgb_background
Name                  Size             BytesClass    Attributes

rgb_background      256x256            65536uint8
页: [1]
查看完整版本: Matlab程序运行出错Index exceeds matrix dimensions