如何在TrackerCSRT上使用setInitialMask?

RMa*_*lke 2 python opencv

TrackerCSRT在视频中用于对象跟踪,目前我在跟踪器上使用init方法来设置region of interest

tracker = cv2.TrackerCSRT_create()
tracker.init(frame, region_of_interest)
Run Code Online (Sandbox Code Playgroud)

interst的区域包括我的对象,但它也包括来自背景或其他对象的无关像素.

我想用一个掩码来改进我感兴趣的像素.查看文档,我可以setInitialMaskC++版本上看到方法,但我找不到Python包装器中的等效方法.

如何设置在面具TrackerCSRTopenCVPython

stu*_*men 9

我做了一个Pull Request,以便为Python和Java使用cv :: TrackerCSRT :: setInitialMask().

另外,下面的python代码可以用于params.

tracker = cv2.TrackerCSRT_create()
tracker.save("default_csrt.xml") // saves default values of the Tracker
                                    you can rename default_csrt.xml-> custom_csrt.xml 
                                    and change values in it and use it load params

fs = cv2.FileStorage("custom_csrt.xml",cv2.FILE_STORAGE_READ)
fn = fs.getFirstTopLevelNode()
tracker.read(fn)
Run Code Online (Sandbox Code Playgroud)