簡體   English   中英

如何在 Python 中使用 OpenCV Stitcher 類?

[英]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

foo.png

酒吧.png

酒吧.png

結果.jpg

結果.jpg

暫無
暫無

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

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