[英]How to use OpenCV Stitcher class with Python?
我正在嘗試將 OpenCV Stitcher 類與 Python 一起使用,但沒有成功。 我的代碼是:
import cv2
stitcher = cv2.createStitcher(False)
foo = cv2.imread("foo.png")
bar = cv2.imread("bar.png")
result = stitcher.stitch((foo,bar))
我得到一個元組 (1, None)。
按照 C++ 示例,我嘗試將一個 numpy 數組作為第二個參數傳遞給 stitch(),但沒有成功。
你使用它是正確的,因為某種原因該過程失敗了。
結果元組的第一個值是錯誤代碼,0 表示成功。 這里你得到 1,這意味着,根據stitching.hpp
,該過程需要更多圖像。
enum Status
{
OK = 0,
ERR_NEED_MORE_IMGS = 1,
ERR_HOMOGRAPHY_EST_FAIL = 2,
ERR_CAMERA_PARAMS_ADJUST_FAIL = 3
};
ERR_NEED_MORE_IMGS
通常表示您的圖像中沒有足夠的關鍵點。
如果您需要有關錯誤發生原因的更多詳細信息,您可以切換到 C++ 並詳細調試該過程。
編輯:提供工作示例
與 OP 相同的代碼,只是添加了結果保存和絕對路徑。
import cv2
stitcher = cv2.createStitcher(False)
foo = cv2.imread("D:/foo.png")
bar = cv2.imread("D:/bar.png")
result = stitcher.stitch((foo,bar))
cv2.imwrite("D:/result.jpg", result[1])
這些圖片:(我希望你喜歡考拉)
foo.png
酒吧.png
結果.jpg
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.