代码如下:im=imread('1.bmp'); Im=rgb2gray(im);[nRow, nCol] = size(Im);N=nRow*nCol;I=reshape(Im, N, 1);I=double(I);%用于还原图像Image=I;L=nRow;C=nCol;%参数SI=0.2;SX=4;r=10;PV=0.06;W = NcutComputeW(I, N, nRow, nCol, SI, SX, r);%W是一个N X N的对称半正定矩阵Ncut=cell(2,4);Seg=(1:N)';N =length(W);d = sum(W,2);D = spdiags(d,0,N,N);%求(D-W)*Y=r*D*Y,其中D是一个N x N的对角矩阵,Y是一N x 1的列向量,%W是一个N X N的对称半正定矩阵,[Y,U]= eigs(D-W,D,2, 'sm');%约束条件为Y'*D*1=0;%其目的是求(D-W)*Y=r*D*Y的第二小特征向量;Y1 = Y(:,2);————————————————————————————————运行时候当图像为4 x5时不会出错,当图像为20 x 30时错误提示为:??? Error using ==> eigsError with ARPACK routine dsaupd: info = -9999Error in ==> testImage at 21[Y,U]= eigs(D-W,D,2, 'sm');
添加回答
举报
0/150
提交
取消