【发布时间】:2012-07-08 13:49:32
【问题描述】:
我想开发一个小型应用程序,允许用户使用矩形来注释图像的不同部分。例如,用户可以在标有“头部”的图像上绘制一个矩形,这个应用程序可以获得这个矩形的参数(高度、宽度、中心坐标......)。 有时我还需要旋转这个矩形来选择一个特定的区域。
我想使用 Qt 来实现我的想法,但我不知道如何:
- 获取用户绘制的矩形的参数。 (高度、宽度、中心坐标...)
- 如何旋转矩形并获得旋转角度。
【问题讨论】:
-
您以错误的方式看待问题。如果没有该信息,您的应用程序如何首先绘制矩形?选择一种绘制这些矩形的方法,以及一种供用户操作它们的方法,您将拥有所需的一切。查看 Qt 示例和教程以获取想法。
-
@Mat 嘿,Mat。其实这是一个手动标注的app,用户需要用鼠标选择区域,app可以收集这个区域的信息,所以这个app会先加载图片,然后用户选择区域。我的应用程序绘制矩形并让用户操作它很难实现,因为在一张图像中找到“头部”很困难,这项工作应该由用户在这个项目中完成。
-
是的,没错。您的应用程序将处理用户的点击和鼠标在图像上的移动。您的应用将根据这些点击/移动/菜单操作等绘制矩形。您将获得所需的信息。
-
@Mat 我明白了。谢谢,我试试看。
-
@Mat 嘿,Mat。我收集用户点击的位置,并尝试使用这些信息创建一个矩形,但我找不到创建具有四个位置的矩形的函数。如果我先用这些位置信息计算出宽度和高度,然后选择一个位置来绘制矩形,我会得到一个矩形但会丢失旋转信息(矩形将与轴平行)。那么,我怎样才能旋转一个矩形。我认为一个棘手的方法是用这些位置绘制四条线,不是吗?
标签: qt qt4 computer-vision