简体   繁体   中英

module 'cv2' has no attribute "TrackerCSRT_create' on Nvidia Xavier

We have tried with various version of opencv as well as opencv-contrib-python. But it's giving same error. Same program works well in windows OS.

AttributeError: module 'cv2' has no attribute "TrackerCSRT_create'

How to resolve this to run on Nvidia Xavier board?

Versions we are using currently

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

since opencv 4.4 (or so) some trackers were moved to a legacy module:

>>> 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 !)

((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...))

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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