简体   繁体   English

模块“cv2”在 Nvidia Xavier 上没有属性“TrackerCSRT_create”

[英]module 'cv2' has no attribute "TrackerCSRT_create' on Nvidia Xavier

We have tried with various version of opencv as well as opencv-contrib-python.我们尝试了各种版本的 opencv 以及 opencv-contrib-python。 But it's giving same error.但它给出了同样的错误。 Same program works well in windows OS.相同的程序在 windows 操作系统中运行良好。

AttributeError: module 'cv2' has no attribute "TrackerCSRT_create' AttributeError:模块“cv2”没有属性“TrackerCSRT_create”

How to resolve this to run on Nvidia Xavier board?如何解决此问题以在 Nvidia Xavier 板上运行?

Versions we are using currently我们目前使用的版本

  • opencv-python 4.5.1.48 opencv-python 4.5.1.48
  • opencv-contrib-python 4.5.5.62 opencv-contrib-python 4.5.5.62

since opencv 4.4 (or so) some trackers were moved to a legacy module:由于 opencv 4.4(左右)一些跟踪器被移动到legacy模块:

>>> help(cv2.legacy)
Help on module cv2.legacy in cv2:

NAME
    cv2.legacy

FUNCTIONS
    MultiTracker_create(...)
        MultiTracker_create() -> retval
        .   * \brief Returns a pointer to a new instance of MultiTracker

    TrackerBoosting_create(...)
        TrackerBoosting_create() -> retval
        .   @brief Constructor
        .       @param parameters BOOSTING parameters TrackerBoosting::Params

    TrackerCSRT_create(...)
        TrackerCSRT_create() -> retval
        .   @brief Constructor
        .     @param parameters CSRT parameters TrackerCSRT::Params

    TrackerKCF_create(...)
        TrackerKCF_create() -> retval
        .   @brief Constructor
        .     @param parameters KCF parameters TrackerKCF::Params

    TrackerMIL_create(...)
        TrackerMIL_create() -> retval
        .   @brief Constructor
        .       @param parameters MIL parameters TrackerMIL::Params

    TrackerMOSSE_create(...)
        TrackerMOSSE_create() -> retval
        .   @brief Constructor

    TrackerMedianFlow_create(...)
        TrackerMedianFlow_create() -> retval
        .   @brief Constructor
        .       @param parameters Median Flow parameters TrackerMedianFlow::Params

    TrackerTLD_create(...)
        TrackerTLD_create() -> retval
        .   @brief Constructor
        .       @param parameters TLD parameters TrackerTLD::Params

    upgradeTrackingAPI(...)
        upgradeTrackingAPI(legacy_tracker) -> retval

so, the way to create one is:所以,创建一个的方法是:

cv2.legacy.TrackerCSRT_create()

(you still need opencv-contrib-python !) (你仍然需要opencv-contrib-python !)

((and, if you installed opencv-python before, you need to uninstall that, else it will "shadow" the other, both have a cv2.so , and python will only load one of them...)) ((并且,如果您之前安装了opencv-python ,则需要将其卸载,否则它将“遮蔽”另一个,两者都有cv2.so ,并且 python 只会加载其中一个......)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM