数字图像处理如何做矩形检测

wslsnsm 2014-12-23 08:13:14
想检测图中√在哪一个矩形框中,比如图中所示:我的想法是将图看成一个4*4的矩阵,第一行第一个认为是A11,一次A12,A13,A14,A21,A22到A44,对号在的位置就是A12,最后将对号的位置A12输出。
不知道怎么代码实现?请指点一下,谢谢!
...全文
1390 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wslsnsm 2015-06-07
  • 打赏
  • 举报
回复
引用 1 楼 flydreamGG 的回复:
二值化后做投影(纵、横),求空白位置就可以了
大侠能给点程序学习一下么 ?谢谢
wslsnsm 2015-05-27
  • 打赏
  • 举报
回复
[quote=引用 5 楼 Trent1985 的回复:]
我做的连通域标记多行时,联通域的标记成了按列上下的标记如下图所示,想要修改成按行标记,每一行都是2345,2345,达到最后输出的位置是2 4,这个标记的地方怎么修改一下

I=imread('c:\\1hang.bmp');
subplot(1,2,1);
imshow(I);
bw=im2bw(I);
subplot(1,2,2);
imshow(bw);
[L,num]=bwlabel(bw);
%str = sprintf('连通块个数为:%d', num);
%xlabel(str);
s=regionprops(bw,'Boundingbox','Area','centroid');
Area=cat(1,s.Area);
%imshow(bw);

hold on
for i = 2:size(s,1)
rectangle('position',s(i).BoundingBox,'edgecolor','g');
r = s(i).Centroid;
text(r(1),r(2),num2str(i),'FontSize',5,'color',[1 0 0])
end
wslsnsm 2015-04-27
  • 打赏
  • 举报
回复
引用 10 楼 Trent1985 的回复:
自己找规律! 东风集团很好分离!Y轴投影!
谢谢
Trent1985 2015-04-27
  • 打赏
  • 举报
回复
自己找规律! 东风集团很好分离!Y轴投影!
wslsnsm 2015-04-27
  • 打赏
  • 举报
回复
引用 8 楼 Trent1985 的回复:
你的四个图宽高都是相同的,这个很简单啊,把这个图四等分就行了。




那个图是这里面要分离出来的,想要分离出“东风集团”、“张三”、以及张三后面的一整行矩形框,不知道您有什么好方法么
Trent1985 2015-04-27
  • 打赏
  • 举报
回复
你的四个图宽高都是相同的,这个很简单啊,把这个图四等分就行了。
wslsnsm 2015-04-27
  • 打赏
  • 举报
回复
引用 5 楼 Trent1985 的回复:
有几种方法: 1,投影,纵横坐标分别投影,有对号的行和列投影会变化明显,这样就可以判断出对号位置了; 2,角点检测,可以检测出对号和所有矩形的四个顶点位置,从而根据位置信息判断对号所在位置; 3,连通域标记,通过连通域标记可以快速判断出矩形区域和对号区域,由于对号区域面积比较小,所以可以直接得到改区域的坐标位置; 4,颜色识别,对号的颜色比较特殊,根据这一点,你可以直接得到对号的位置,这种方法最简单;
请问我想把上面的图切割成4幅图,每一幅图都是一行矩形框,这有什么方法么
wslsnsm 2015-04-27
  • 打赏
  • 举报
回复
引用 5 楼 Trent1985 的回复:
有几种方法: 1,投影,纵横坐标分别投影,有对号的行和列投影会变化明显,这样就可以判断出对号位置了; 2,角点检测,可以检测出对号和所有矩形的四个顶点位置,从而根据位置信息判断对号所在位置; 3,连通域标记,通过连通域标记可以快速判断出矩形区域和对号区域,由于对号区域面积比较小,所以可以直接得到改区域的坐标位置; 4,颜色识别,对号的颜色比较特殊,根据这一点,你可以直接得到对号的位置,这种方法最简单;
按照你说的几点,做出了一种连通域标记法,效果还不错,多谢提供建议。
Trent1985 2014-12-25
  • 打赏
  • 举报
回复
有几种方法: 1,投影,纵横坐标分别投影,有对号的行和列投影会变化明显,这样就可以判断出对号位置了; 2,角点检测,可以检测出对号和所有矩形的四个顶点位置,从而根据位置信息判断对号所在位置; 3,连通域标记,通过连通域标记可以快速判断出矩形区域和对号区域,由于对号区域面积比较小,所以可以直接得到改区域的坐标位置; 4,颜色识别,对号的颜色比较特殊,根据这一点,你可以直接得到对号的位置,这种方法最简单;
shiter 2014-12-24
  • 打赏
  • 举报
回复
顶楼上,这个算法不错。 矩形轮廓检测可以看这个: http://blog.csdn.net/wangyaninglm/article/details/41863867
shiter 2014-12-24
  • 打赏
  • 举报
回复
引用 3 楼 wslsnsm 的回复:
矩形轮廓检测可以看这个: http://blog.csdn.net/wangyaninglm/article/details/41863867 这个输出的跟我想要的不一样啊!只有图片,有没有数字化的?
这个只是检测矩形,真正的算法还是,2楼的,彩色转灰度,灰度转2值,完后投影,才能得到位置啊
wslsnsm 2014-12-24
  • 打赏
  • 举报
回复
矩形轮廓检测可以看这个: http://blog.csdn.net/wangyaninglm/article/details/41863867 这个输出的跟我想要的不一样啊!只有图片,有没有数字化的?
昨夜无风 2014-12-23
  • 打赏
  • 举报
回复
二值化后做投影(纵、横),求空白位置就可以了

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧