在 Python 中为 OpenCV BoundryBox 设置自定义 RoI
Setting Custom RoI for OpenCV BoundryBox in Python
我正在尝试使用 OpenCV 实现对象跟踪器,我是 Python 的新手。我将通过 IronPython 从 C# 代码调用它。我想做的是,我想将自定义矩形设置为 Tracker 的参数,而不是通过鼠标选择它。
(跟踪器代码是您可以在互联网上找到的常见示例)
这里是有问题的部分:
这就是我设置和创建矩形的方式
initBB = cv2.rectangle(frame ,(154, 278),(173,183), (0, 255, 00),1)
这是Tracker的初始化方法
tracker.init(frame, initBB)
这就是错误
SystemError: new style getargs format but argument is not a tuple
如果我想使用 "normal" 方式,initBB 设置会像
initBB = cv2.selectROI("Frame", frame, fromCenter=False,
showCrosshair=False)
我看不出哪一部分做错了,我是在尝试将错误类型的对象设置为 initBB 还是以错误的方式设置它?
谢谢!祝你有美好的一天!
你的错误来自于对 cv2.rectangle
所做的事情的误解。
它并不是您想象的 return 矩形。它实际上是一个绘图功能。它在您作为参数和 returns None
.
传递的图像上绘制矩形
矩形只是 Python 中的一个元组,坐标如下:(start_col, start_row, width, height)
。您可以在不使用 OpenCV 函数的情况下创建它。
我正在尝试使用 OpenCV 实现对象跟踪器,我是 Python 的新手。我将通过 IronPython 从 C# 代码调用它。我想做的是,我想将自定义矩形设置为 Tracker 的参数,而不是通过鼠标选择它。
(跟踪器代码是您可以在互联网上找到的常见示例)
这里是有问题的部分:
这就是我设置和创建矩形的方式
initBB = cv2.rectangle(frame ,(154, 278),(173,183), (0, 255, 00),1)
这是Tracker的初始化方法
tracker.init(frame, initBB)
这就是错误
SystemError: new style getargs format but argument is not a tuple
如果我想使用 "normal" 方式,initBB 设置会像
initBB = cv2.selectROI("Frame", frame, fromCenter=False,
showCrosshair=False)
我看不出哪一部分做错了,我是在尝试将错误类型的对象设置为 initBB 还是以错误的方式设置它?
谢谢!祝你有美好的一天!
你的错误来自于对 cv2.rectangle
所做的事情的误解。
它并不是您想象的 return 矩形。它实际上是一个绘图功能。它在您作为参数和 returns None
.
矩形只是 Python 中的一个元组,坐标如下:(start_col, start_row, width, height)
。您可以在不使用 OpenCV 函数的情况下创建它。