Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python说;TrackerMediaFlow“u create()”;不再是cv2的属性,库是否已更新?_Python_Opencv_Computer Vision_Cv2 - Fatal编程技术网

Python说;TrackerMediaFlow“u create()”;不再是cv2的属性,库是否已更新?

Python说;TrackerMediaFlow“u create()”;不再是cv2的属性,库是否已更新?,python,opencv,computer-vision,cv2,Python,Opencv,Computer Vision,Cv2,Python说trackerDianflow_create()不再是cv2的属性 我在这里看过,但不一样: 我在几个discord服务器上询问过,但没有成功。 我用ctrl+c直接从教科书中复制了这段代码,所以应该是准确的 import cv2 import numpy as np cap = cv2.VideoCapture("../data/traffic.mp4") _, frame = cap.read() bbox = cv2.selectROI(frame, False, Tru

Python说trackerDianflow_create()不再是cv2的属性

我在这里看过,但不一样: 我在几个discord服务器上询问过,但没有成功。 我用ctrl+c直接从教科书中复制了这段代码,所以应该是准确的

import cv2
import numpy as np

cap = cv2.VideoCapture("../data/traffic.mp4")
_, frame = cap.read()

bbox = cv2.selectROI(frame, False, True)

cv2.destroyAllWindows()

tracker = cv2.TrackerMedianFlow_create()
status_tracker = tracker.init(frame, bbox)
fps = 0

while True:
    status_cap, frame = cap.read()
    if not status_cap:
        break

    if status_tracker:
        timer = cv2.getTickCount()
        status_tracker, bbox = tracker.update(frame)

    if status_tracker:
        x, y, w, h = [int(i) for i in bbox]
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 15)
        fps = cv2.getTickFrequency() / (cv2.getTickCount() - timer);
        cv2.putText(frame, "FPS: %.0f" % fps, (0, 80), cv2.FONT_HERSHEY_SIMPLEX, 3.5, (0, 0, 0), 8);
    else:
        cv2.putText(frame, "Tracking failure detected", (0, 80), cv2.FONT_HERSHEY_SIMPLEX, 3.5, (0,0,255), 8)

    cv2.imshow("MedianFlow tracker", frame)

    k = cv2.waitKey(1)

    if k == 27: 
        break

cv2.destroyAllWindows()
导致问题的原因是:

tracker = cv2.TrackerMedianFlow_create()
直到代码运行为止

Traceback (most recent call last):
  File "D:/Documents/E-Books/Comp Vision/opencv3computervisionwithpythoncookbook_ebook/OpenCV3ComputerVisionwithPythonCookbook_Code/Chapter04/myPart5.py", line 11, in <module>
    tracker = cv2.TrackerMedianFlow_create()
AttributeError: module 'cv2.cv2' has no attribute 'TrackerMedianFlow_create'
回溯(最近一次呼叫最后一次):
文件“D:/Documents/E-Books/Comp-Vision/opencv3computervisionwhithpythoncookbook\u ebook/opencv3computervisionwhithpythoncookbook\u Code/Chapter04/myPart5.py”,第11行
tracker=cv2.TrackerMedianFlow_create()
AttributeError:模块“cv2.cv2”没有属性“TrackerDianflow\u create”

我希望它能正常工作。

trackerDianflow
是一个标准版本,并不是官方OpenCV发行版的标准版本。您需要安装opencv contrib软件包才能访问
trackerDianflow\u create()

根据,您应该卸载不带附加模块的软件包,然后继续使用所需的附加模块重新安装opencv

pip uninstall opencv-python
pip install opencv-contrib-python
对于opencv 4.5.1用户

opencv contrib python

import cv2
cv2.legacy_TrackerMedianFlow()

从4.5.1开始,它们被放在遗留中