求助懂matlab 图像处理的大神!怎样检测一个举行四个顶点的坐标呢?

2025-04-06 08:09:23
推荐回答(1个)
回答1:

1、可以在matlab输入面板中输入:imtool(I),就可以通过鼠标点击知道其坐标啦。
2、或者用角点检测。
3、可以参考一下程序:
>> f=zeros(10);
>> f(3:6,4:8)=1

f =

0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0

>> stats=regionprops(f,'BoundingBox');
>> bb=stats.BoundingBox

bb =

3.5000 2.5000 5.0000 4.0000

>> bb=ceil(bb)

bb =

4 3 5 4

通过对bb的操作可得到矩形的四个顶点坐标,分别为:

[bb(1) bb(2)],[bb(1)+bb(3)-1 bb(2)],[bb(1) bb(2)+bb(4)-1],[bb(1)+bb(3)-1 bb(2)+bb(4)-1]