【求救】直线拟合问题
我想只拟合那个开关上的边缘部分,可是怎么作都有开始的那一部分,请问高手如何去掉那一部分?急!!自己的程序如下:clear all;
I=imread('E:/matlab/kai.jpg');
rgb=rgb2gray(I);
[n,m]=size(rgb);
I=double(rgb);
k=1;l=1;h=1;
for j=150:180
i=round(-(j-152)+117);
for m=-9:9
Gx=I(i+m,j)-I(i-1+m,j);
Gy=I(i+m,j)-I(i+m,j-1);
thta(k+m+9)=atan(Gy/Gx);
if thta(k+m+9)>1.5&thta(k+m+9)<1.75
dianh(h)=i,dianl(l)=j;
h=h+1;l=l+1;
end
end
k=k+19;
end
cshu=[1,0;0,1]/[h-1,sum(dianl);sum(dianl),sum(dianl.^2)]...
*[sum(dianh);sum(dianl.*dianh)];
imshow(rgb),hold on;%,axis on;% pixval on;
for x=1:145
y(x)=cshu(1,1)+cshu(2,1)*x;
plot(y,'color','red');
end
运行结果如附件