xyq001303 发表于 2010-10-17 09:42:37

我写了一个求颜色梯度的程序,但是运行有错误,请高手帮忙看看!!!

a=imread('klj.jpg');imshow(a);=ginput(2);x=round(x);y=round(y);n1=abs(x(1)-x(2))+1;n2=abs(y(1)-y(2))+1;=max();imgrad=ones(3,n);for i=1:3    b=a(:,:,i);    if y(1)<y(2)&&x(1)<x(2)      if which_max==1            xx=x(1):x(2);            yy=subf(x,y,xx);      else            yy=y(1):y(2);            xx=subf(x,y,yy);      end    elseif y(1)<y(2)&&x(1)>x(2)      if which_max==1            xx=x(2):x(1);            yy=subf(x,y,xx);      else            yy=y(1):y(2);            xx=subf(x,y,yy);      end    elseif y(1)>y(2)&&x(1)<x(2)      if which_max==1            xx=x(1):x(2);            yy=subf(x,y,xx);      else            yy=y(2):y(1);            xx=subf(x,y,yy);      end    elseif y(1)>y(2)&&x(1)>x(2)      if which_max==1            xx=x(2):x(1);            yy=subf(x,y,xx);      else            yy=y(2):y(1);            xx=subf(x,y,yy);      end    end      ind=sub2ind(size(b),yy,xx);    data=b(ind);    data=double(data);    imgrad(i,:)=gradient(data);endfunction coordinate=subf(x,y,input)k=(y(1)-y(2))/(x(1)-x(2));if abs(x(1)-x(2))>=abs(y(1)-y(2))    coordinate=k*(input-x(1))+y(1);    coordinate=round(coordinate);else    coordinate=(input-y(1))/k+x(1);    coordinate=round(coordinate);end 我用以上内容想求一个图片的颜色变化的三维RGB梯度,但是运行之后出现
??? Undefined function or method 'subf' for input arguments of type 'double'的字样,请问哪里出错了,谢谢!!!

messenger 发表于 2010-10-17 19:16:26

提示说的很清楚了,你的subf 不晓得是一个什么东西
页: [1]
查看完整版本: 我写了一个求颜色梯度的程序,但是运行有错误,请高手帮忙看看!!!