当前位置:编程学习 > Matlab >>

matlab程序出错,请朋友帮下。

>> a=0; for i=1:70 %采用循环读入图像 imageName=strcat(num2str(i),'.tif'); f=imread('F:\纸样\1.tif'); grad(x,y)=sqrt((f(x,y)-f(x+1,y+1))^2+(f(x+1,y)-f(x,y+1))^2); A=mean(mean(grad)); a=a+1; G(a)=A; end GG=G, %视觉变化 V=[2.86 1.00 2.30 2.45 1.21 2.35 2.43 1.54 1.06 1.51 1.47 1.43 1.88 1.16 1.00 1.16 1.73 2.55 2.90 2.67 1.21 2.54 1.73 2.21 2.34 3.00 2.87 2.06 2.80 2.41 2.90 2.62 1.59 2.70 3.00 2.67 2.47 2.32 2.63 2.63 2.87 2.40 1.51 2.40 2.11 2.43 2.90 2.75 2.95 3.00 2.30 2.87 2.85 2.95 2.25 2.50 2.90 2.58 2.61 3.00 2.47 2.35 1.61 2.58 1.50 2.55 2.47 1.63 2.50 2.95] %绘制图形 figure(1); plot(GG,V,'k*'); R=corr(GG',V'), xlabel('GG') ylabel('Ranking') title('COV计算') 运行结果显示 ??? Undefined function or variable 'x'. 请朋友帮我找出错误
追问:
A=imread('F:\纸样\1.tif');
 f=double(A);
 [m n]=size(f);
  for i=1:m-1
      for j=1:n-1
  g(i,j)=sqrt((f(i,j)-f(i+1,j+1))^2+(f(i+1,j)-f(j+1))^2);
      end
  end
B=mean(g(:));
C=std(g(:))
a=a+1;
G(a)=B;
end
GG=G,
 把程序的一部分改了下,能计算一张图像的灰度梯度了,但是计算不出70张图像的灰度。作图的时候灰度梯度只是第一张的,和V数值对应不上。
Q上聊,这里怎么都不方便,1592033746,我等你到1点。

懒得在这里说是因为问题挺多的。
你这很明显是copy了别人的什么程序,那个imagename为的是循环读图,你看你那个imread后面写了些什么。。。还有一堆不必要的诡异语句。。。如果你不是在应付差事而是想把这个弄好我不介意一句一句跟你慢慢说。如果你只要一个程序的结果将来不玩matlab
那么,
 imageName=strcat(num2str(i),'.tif');
 f=imread('F:\纸样\1.tif');
这两句有问题。

具体替换的话,如果你的70张图片命名有规律,那么,imagename就可以。
没有的话, mydir = dir('路径+*.tif');
f = imread(['路径',mydir(i).name]);
之类的自己慢慢改。

别追问了,再想问我就加Q。。
我也就今天一天闲的无聊当好心人。
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,