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 表示,以便后面的分割。 Ref :
12F 常见的程序出错问题整理 (eight)
http://forum.vibunion.com/forum/thread-46001-1-1.html 看一下rgb_background,就知道错在何处了(这种错误,楼主可以自己调试出来的):
>> whos rgb_background
Name Size BytesClass Attributes
rgb_background 256x256 65536uint8
页:
[1]