| 把你的图片保存为文件dingdian.bmp(注意边上的空白去掉,可以先取消组合,然后选中中间图片部分,copy到画图板保存为dingdian.bmp),然后运行下面的代码 复制代码I = imread('dingdian.bmp'); %读入图片
I = I(:,:,1);
BW=im2bw(I,0.6); %阈值分割
imshow(BW)
BW=bwareaopen(BW,100); %去处ABCD四个字母
BW=bwmorph(BW,'skel',Inf); %图像细化
[y,x]=find(BW); %提取坐标
[miny,id]=min(y);
Bxy=[x(id) miny];
[maxy,id]=max(y);
Dxy=[x(id) maxy];
[minx,id]=min(x);
Axy=[minx y(id)];
[maxx,id]=max(x);
Cxy=[maxx y(id)];
xy=[Axy;Bxy;Cxy;Dxy]  %ABCD四点的坐标
figure
imshow(~BW)
hold on
plot(xy(:,1),xy(:,2),'r*')
 运行结果:
 xy =
 29    94
 245    31
 310   248
 95   312
 效果图如下:
 |