声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1676|回复: 3

[图像处理] 谁知道怎么提取正方形的4个顶点啊

[复制链接]
发表于 2009-6-1 13:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
我做的是二维条码QR码,为了识别的需要,需要提取QR码的4个顶点,一般的角点提取把图像上的所有点都提取出来了,可是我只想提取4个顶点,对了,QR码有个特点是左上角、右上角、左下角的3个黑色方块黑白比例满足1:1:3:1:1,有人会吗??急啊!!!!!!!!!!!
IMG_4983.bmp
回复
分享到:

使用道具 举报

发表于 2009-6-1 16:13 | 显示全部楼层
运行以下代码
  1. I=imread('IMG_4983.bmp');
  2. BW=~im2bw(I,0.25);
  3. L=bwlabel(BW);
  4. BW(L==1)=0;
  5. BW(L==2)=0;
  6. BW=bwareaopen(BW,620);
  7. [y,x]=find(BW);
  8. [miny,id]=min(y);
  9. Uxy=[x(id) miny];
  10. [maxy,id]=max(y);
  11. Dxy=[x(id) maxy];
  12. [minx,id]=min(x);
  13. Lxy=[minx y(id)];
  14. [maxx,id]=max(x);
  15. Rxy=[maxx y(id)];
  16. xy=[Uxy;Dxy;Lxy;Rxy]  %上下左右四点的坐标
  17. imshow(BW)
  18. hold on
  19. plot(xy(:,1),xy(:,2),'r.','markersize',18)
复制代码
结果:
xy =
   215    83
   312   453
    19   281
   472   191
效果图如下
xiaoguotu.jpg

评分

1

查看全部评分

 楼主| 发表于 2009-6-2 10:18 | 显示全部楼层
但当图像发生形变较严重时,这种算法提取的坐标可能会发生重合,也就是说,横坐标的最大的值也有可能是纵坐标最大的值,这时提取的4个坐标点可能会成为3个或是2个,该怎么样进一步改进呢
发表于 2009-6-2 10:25 | 显示全部楼层
我给你的方法只是针对你的图片的一个示意,其实方法是很多很灵活的,没必要在一条路上走进死胡同,你可以采用角点检测的方法,采用求凸包的方法都可以,具体还是要查查文献,下点功夫的,不要指望着有现成的程序套用,应针对于你图片的具体情况采用适合的命令。

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-1 05:42 , Processed in 0.061864 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表