2

我正在尝试使用 OpenCV 实现对象跟踪器,而且我是 Python 新手。我将通过 IronPython 从 C# 代码调用它。我想要做的是,我想将自定义矩形设置为 Tracker 的参数,而不是通过鼠标选择它。

(跟踪代码是您可以在互联网上找到的常见示例)

这是有问题的部分:

这就是我设置和创建矩形的方式

    initBB = cv2.rectangle(frame ,(154, 278),(173,183), (0, 255, 00),1)

这是 Tracker 的 init 方法

tracker.init(frame, initBB)

这就是错误

SystemError:新样式 getargs 格式,但参数不是元组

如果我想使用“正常”方式,initBB set 就像

        initBB = cv2.selectROI("Frame", frame, fromCenter=False,
        showCrosshair=False)

我看不到我做错了哪一部分,我是在尝试将错误类型的对象设置为 initBB 还是以错误的方式设置它?

谢谢!祝你今天过得愉快!

4

1 回答 1

2

您的错误来自对做什么的误解cv2.rectangle

它不会像您想象的那样返回矩形。它实际上是一个绘图功能。它在您作为参数传递的图像上绘制矩形并返回None

矩形只是 Python 中的一个元组,具有以下坐标:(start_col, start_row, width, height). 您可以在不使用 OpenCV 函数的情况下创建它。

于 2018-08-16T08:21:36.827 回答