Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
普通会员
注册日期: 2008-04-27
年龄: 39
帖子: 30
声望力: 18 ![]() |
![]()
我编的程序,最后用到向量r,按说向量应该不用定义吧,可是不知为什么,一运行就显示
??? Undefined function or variable 'r'. Error in ==> fengle at 248 r 请高人解答,谢谢!!急!! 以下是我的程序: I=imread('ggg.bmp'); J1=I; J2=I; J3=I; M1=rgb2gray(J1); N1=histeq(M1); for i=200:400 if N1(i,1)<50 Q=i; end; end; I=double(I); for i=1:480 for j=1:640 IR=I(i,j,1)/255; IG=I(i,j,2)/255; IB=I(i,j,3)/255; k=0.21267/[0.21267*IR+0.71516*IG+0.07217*IB]; R=IR*k; G=IG*k; B=IB*k; x=0.41245*R+0.35758*G+0.18042*B; y=0.21267*R+0.71516*G+0.07217*B; z=0.01933*R+0.11919*G+0.95023*B; a=500*[myfun(x/0.95045)-myfun(y)]; b=200*[myfun(y)-myfun(z/1.08875)]; L=myfun(y)*116-16; if (I(i,j,1)-I(i,j,3)>25)&(I(i,j,1)-I(i,j,2)>25)&(b/a>0)&(b/a<1/2)&(a^2+b^2>25)&i<Q J1(i,j,1)=255; J1(i,j,2)=0; J1(i,j,3)=0; end; end; end; for i=1:480 for j=1:640 if (I(i,j,1)-I(i,j,3)>25)&(I(i,j,1)-I(i,j,2)>25) J2(i,j,1)=255; J2(i,j,2)=255; J2(i,j,3)=255; end; end; end; M2=rgb2gray(J2); P=rgb2gray(J3); N2=histeq(M2); for i=200:400 if N2(i,1)<50 Q=i; end; end; c=0; A=0; B=0; for i=Q-50:Q-10 for j=2:630 if N2(i,j)<90&(N2(i-2,j)-N2(i,j)>35)&(N2(i+2,j)-N2(i,j)>35) c=c+1; A=A+j; B=B+i; end; end; end; C=A/c; D=B/c; E=0; F=0; for i=Q-50:Q-10 for j=2:630 if N2(i,j)<90&(N2(i-2,j)-N2(i,j)>35)&(N2(i+2,j)-N2(i,j)>35) E=E+(j-C)*(i-D); F=F+(j-C)^2; end; end; end; G=E/F; H=D-G*C; for i=Q-50:Q-10 for j=2:630 if abs(G*j-i+H)/((G^2+1)^(1/2))<=0.5 J1(i,j,1)=255; J1(i,j,2)=255; J1(i,j,3)=255; N2(i,j)=255; P(i,j)=255; end; end; end;%得到最底下的边框 for i=1:400 if N2(i,2)==255; R=i; end; end; c=0; A=0; B=0; for i=R-160:R-120 for j=2:630 if N2(i,j)<90&(N2(i-2,j)-N2(i,j)>35)&(N2(i+2,j)-N2(i,j)>35) c=c+1; A=A+j; B=B+i; end; end; end; C=A/c; D=B/c; E=0; F=0; for i=R-160:R-120 for j=2:640 if N2(i,j)<90&(N2(i-2,j)-N2(i,j)>35)&(N2(i+2,j)-N2(i,j)>35) E=E+(j-C)*(i-D); F=F+(j-C)^2; end; end; end; G=E/F; H=D-G*C; for i=R-160:R-120 for j=2:630 if abs(G*j-i+H)/((G^2+1)^(1/2))<=0.5 J1(i,j,1)=255; J1(i,j,2)=255; J1(i,j,3)=255; N2(i,j)=255; P(i,j)=255; end; end; end;%得到最上面的边 for i=1:200 if N2(i,2)==255 S=i; end; end; T=(R+S)/2; T=fix(T); for j=1:640 J1(T,j,1)=255; J1(T,j,2)=255; J1(T,j,3)=255; N2(T,j)=255; P(T,j)=255; end;%得到中间的边 c=0; A=0; B=0; for i=1:480 for j=1:640 if (I(i,j,1)-I(i,j,3)>25)&(I(i,j,1)-I(i,j,2)>25) c=c+1; A=A+j; B=B+i; end; end; end; C=A/c; D=B/c; E=0; F=0; for i=1:480 for j=1:640 if (I(i,j,1)-I(i,j,3)>25)&(I(i,j,1)-I(i,j,2)>25) E=E+(j-C)*(i-D); F=F+(j-C)^2; end; end; end; G=E/F; H=D-G*C; for i=1:480 for j=10:630 if abs(G*j-i+H)/((G^2+1)^(1/2))<=0.5 if M2(i-25,j-2)-M2(i-25,j)>30&M2(i-25,j+2)-M2(i-25,j)>30&M2(i-25,j)<200&M2(i-26,j)<200&M2(i-24,j)<200&M2(i-25,j-1)<200&M2(i-25,j+1)<200&M2(i-26,j-1)<200&M2(i-26,j+1)<200&M2(i-24,j-1)<200&M2(i-24,j+1)<200 for k=i-200:i+50 J1(k,j,1)=255; J1(k,j,2)=255; J1(k,j,3)=255; N2(k,j)=255; P(k,j)=255; end; end; end; end; end;%得到拟合的红线,与边框竖线的交叉点并上下延长 T=P; h=1; for i=1:Q for j=10:630 if P(i,j)==255&P(i,j-1)==255&P(i,j+1)==255 p(h)=i; h=h+1; end; end; end; U=min(p); V=max(p); for i=1:480 for j=1:640 if i<U|i>V P(i,j)=0; J1(i,j,1)=0; J1(i,j,2)=0; J1(i,j,3)=0; end; end; end; h=1; for i=5:Q for j=1:640 if T(i,j)==255&T(i-1,j)==255&T(i+1,j)==255 q(h)=j; h=h+1; end; end; end; X=min(q); Y=max(q); for i=1:480 for j=1:640 if j<X|j>Y P(i,j)=0; J1(i,j,1)=0; J1(i,j,2)=0; J1(i,j,3)=0; end; end; end; for i=1:480 for j=1:640 if J1(i,j,1)==255|(J1(i,j,1)==0&J1(i,j,2)==0&J1(i,j,2)==0) else J1(i,j,1)=0; J1(i,j,2)=0; J1(i,j,3)=0; end; end; end; imwrite(J1,'vv.bmp');%得到只包含分数栏和分数的图片 k=(T+S)/2; k=fix(k); h=1; for j=1:640 if J1(k,j,1)==255&J1(k,j,2)==255&J1(k,j,3)==255&J1(k,j+1,1)==0&J1(k,j+1,2)==0&J1(k,j+1,3)==0 r(h)=j; h=h+1; end; end; r |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]Delphi 神经网络 | qmfnuaa | MATLAB论坛 | 1 | 2008-07-07 10:45 |
[求助]关于命令distspec(trellis,n) | coffietree | MATLAB论坛 | 1 | 2008-06-13 20:21 |
怎么使图像拼贴 | 微笑的鱼 | MATLAB论坛 | 0 | 2008-06-13 09:42 |
基于simulink的发动机工作过程数值模拟 | zhaonan | MATLAB论坛 | 0 | 2008-06-02 20:00 |
[求助]有哪位大哥用matlab仿真过FLL和PLL的???? | husthan | MATLAB论坛 | 0 | 2008-05-01 20:48 |