Matlab误差-矩阵尺寸必须一致

  • 本文关键字:误差 Matlab matlab matrix
  • 更新时间 :
  • 英文 :

cc=imread('<a href=“http://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Pavlovsk_Railing_of_bridge_Yellow_palace_Winter.jpg/250px-Pavlovsk_Railing_of_bridge_Yellow_palace_Winter.jpg”>wintersm.jpg</a>'); 
c=rgb2gray(cc);
x=ones(256,1)*[1:256];
c2=double(c).*(x/2+50)+(1-double(c)).*x/2;
c3=uint8(255*mat2gray(c2));
t=graythresh(c3);
ct=im2bw(c3,t);

这是一个代码,我已经写了阈值的图像,但不能执行,因为错误" ==>次矩阵尺寸必须一致。"。我是matlab新手,我不知道如何解决这个问题。请帮助。

我看了看图片,它的大小是169x250。因此是size(c) = [169 250],而size(x) = [256 256]。由于.*cx之间的操作需要它们都是相同的大小,因此它给出了错误。

重新定义x,使其大小与c的大小匹配

我运行了你的代码,但在c2=double(c).*(x/2+50)+(1-double(c)).*x/2;之前添加了以下行,我添加了这个:

size(x)
size(c)

,你会得到以下打印:

ans =
  256   256
ans =
  169   250

本质上说,图像不是你想象的那么大,你把你的矩阵大小混在一起了。

最新更新