我正在尝试使用OpenCV实现对象跟踪器,而且我对Python还是新手。我将通过C#代码通过IronPython调用它。我要做的是,设置一个自定义矩形作为跟踪器的参数,而不是通过鼠标选择它。
(跟踪器代码是您可以在互联网上找到的常见示例)
以下是有问题的部分:
这就是我如何设置和创建一个矩形。
initBB = cv2.rectangle(frame ,(154, 278),(173,183), (0, 255, 00),1)
这是Tracker的init方法
tracker.init(frame, initBB)
这就是错误
SystemError:新样式getargs格式,但参数不是元组
如果我想使用“正常”方式,initBB集就像
initBB = cv2.selectROI("Frame", frame, fromCenter=False,
showCrosshair=False)
我看不出我做错了哪一部分,我是试图将错误的对象设置为initBB,还是以错误的方式设置它?
谢谢!祝您今天愉快!
发布于 2018-08-16 00:21:36
您的错误来自于对cv2.rectangle
所做的事情的误解。
它不会像你想象的那样返回一个矩形。它实际上是一种绘图功能。它在作为参数传递的图像上绘制矩形并返回None
。
矩形只是Python中的一个元组,其坐标如下:(start_col, start_row, width, height)
。您可以不使用OpenCV函数来创建它。
https://stackoverflow.com/questions/51872363
复制