从OpenCVPython继承OpenCV类

2024-06-02 07:19:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在OpenCV中研究跟踪算法,跟踪算法继承了超类Tracker。我知道OpenCV是用C++实现的,OpenCV-Python uses binding用C++实现。p>< >不修改C++代码,我能简单地创建另一个Python类(一个不同的跟踪器AlgOrTiHIM)并继承跟踪类吗?例如,我可以简单地执行下面给出的代码吗

import cv2
video_source = '/video/%04d.png'

class MyNewTracker(cv2.Tracker):

    def test(self):  
        print("My test function") 

if __name__ == '__main__':
    video = cv2.VideoCapture(video_source)
    bbox = (648, 584, 69, 200)
    ok, frame = video.read()
    tracker = MyNewTracker()
    ok = tracker.init(frame, bbox)

编辑:当我实际运行上面的代码时,我没有得到任何语法错误或未声明的函数或类似的东西。但是,我确实得到了好的旧“分段错误(堆芯转储)”错误。这是继承有效的一个标志,但我误用了超类跟踪器中的函数

谢谢


Tags: 函数代码test算法sourcevideo错误ok