如何在TrackerCSRT上使用setInitialMask?
问题内容:
我TrackerCSRT
用于视频中的对象跟踪,当前我在跟踪器上使用init方法来设置region of interest
tracker = cv2.TrackerCSRT_create()
tracker.init(frame, region_of_interest)
感兴趣区域包括我的对象,但也包括与背景或其他对象无关的像素。
我想使用遮罩来细化我感兴趣的像素。查看文档,可以看到版本setInitialMask
上的C++
方法,但是在Python
包装器中找不到等效的方法。
我如何设置一个面具TrackerCSRT
上openCV
的Python
?
问题答案:
我发出了一个拉取请求,以启用对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)