簡體   English   中英

opencv 3.3 python linemod:如何添加模板

[英]opencv 3.3 python linemod: how to add templates

今天,它嘗試使用OpenCV的linemod算法。 在較早的C ++項目中,我已經使用linemod了,它的工作方式與文檔中所描述的一樣,但是這次我嘗試使用Python API。

這是我的方法:

import cv2

template = cv2.imread('path_to_template')

lineModDetector = cv2.linemod.getDefaultLINE()
print(len(lineModDetector.getModalities()))

mask = cv2.bitwise_not(template)[:,:,1]

ret, boundingBox = lineModDetector.addTemplate([template], "circle", mask)
print(ret)
print(boundingBox)

模板圖片:

模板圖片

但是,當我嘗試添加模板時,它總是失敗。 有人知道如何使其按預期工作嗎? 我已經看過C ++源代碼,但一切似乎都很好。 我猜包裝器代碼可能是問題嗎?

最好,

曼努埃爾

遮罩不與模板圖像相交。 即使圖像被高斯濾波,遮罩區域中的sobel幅度也低於閾值(默認值為55)。 所以它不會成功。 您可以降低閾值,也可以不設置遮罩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM