发布
社区首页 >问答首页 >用Python为OpenCV BoundryBox设置自定义BoundryBox

用Python为OpenCV BoundryBox设置自定义BoundryBox
EN

Stack Overflow用户
提问于 2018-08-16 08:04:17
回答 1查看 738关注 0票数 2

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

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

以下是有问题的部分:

这就是我如何设置和创建一个矩形。

代码语言:javascript
代码运行次数:0
复制
    initBB = cv2.rectangle(frame ,(154, 278),(173,183), (0, 255, 00),1)

这是Tracker的init方法

代码语言:javascript
代码运行次数:0
复制
tracker.init(frame, initBB)

这就是错误

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

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

代码语言:javascript
代码运行次数:0
复制
        initBB = cv2.selectROI("Frame", frame, fromCenter=False,
        showCrosshair=False)

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

谢谢!祝您今天愉快!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-16 08:21:36

您的错误来自于对cv2.rectangle所做的事情的误解。

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

矩形只是Python中的一个元组,其坐标如下:(start_col, start_row, width, height)。您可以不使用OpenCV函数来创建它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51872363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档