Just My Life & My Work

之前做了影像拼接實驗,不過那只有三張連續影像。上週趁著母親節回台中,我邀表弟在阿嬤家菜園拍攝,一共14張360度環景相片,以同樣的程式來拼接影像

前幾天使用PhotoImpact X3的全景合成功能,覺得它處理拼接做得還不錯,有興趣的話可以參考:全景合成 (Panorama Combination)

接著我陸續放以2、3、4、…、13、14張影像合成的寬景全景圖,我們將會發現,我表弟的個數也會跟著張數同等增加,而預覽影像也將隨之變小,這時候可以點圖放大來看。

看官們有沒有發現很神奇的事情發生了?不是說好用14張相片合成全景圖,但怎麼最後一張全景圖只有11個表弟?天哪~我表弟跑到哪裡去了呢@@?哈~其實這都是程式的傑作,人不見了表示效果好,若變成「殘影」那可就恐怖了:P下圖為Photoimpact X3拼接同樣14張影像的結果(點圖可放大),可尋找一下接縫中,有我表弟的地方是不是有點奇怪呢?

Photoimpact X3雖然很方便使用,但還是有它的缺陷,也就是會出現我所說的「殘影」。而它的好處在於速度快!因為它是循序比對影像,而我這程式是兩兩比對,花的時間就比較多。

為看官獻醜完之後,就是程式設計師專業的時候:P我想要利用這個程式碼來「做事情」,除了要求品質要好之外,當然效能也要夠好!

可見它的時間會隨著張數以類平方增長:O(x^2),簡單來說就是影像張數越多處理時間越長~若要作成像X3那樣子的影像處理軟體,這種效能一定會讓使用者發瘋~好在這程式還可以調整參數,若發現沒必要的程序就可以選擇停用,以上實驗我皆使用預設參數。程式參數設定可參考:影像拼接2 (Image Stitching)

廣告

Comments on: "[OpenCV] 影像拼接—寬景和環景 (Image Stitching – Wide View and Round View)" (14)

  1. 您好:

    我用的openCV 3.0中的sample code進行測試
    但build完 的output 顯示: The program ‘[2176] Success.exe’ has exited with code -1 (0xffffffff).

    1.請問這是我的環境有問題嗎?

    請問我拍好的圖片 要放在哪裡呢?
    可否請您寄您測試成功的sourece code?
    在想說 opencv版本不一樣 會不會code也不太一樣

    感謝您

  2. 你好,最近有在執行stitching_detailed.cpp這支程式,想請問output影像的解析度參數要怎麼設定?讓他跟原始影像解析度一樣?

  3. 不好意思….我進不去範例程式來源….請問是什麼問題?謝謝

  4. 大大您好,我在改CODE上遇到一個奇怪的問題,在stitching_detailed.cpp的最後
    我加入
    imshow(“test",result);
    waitKey(30);
    //手邊臨時沒程式碼,所以不確定語法正確,但是程式碼那份編譯是過可以跑得
    大概如下面所示,但是跑出來的視窗是一片灰色…….但是圖片存出來卻是正常的
    但兩者個是不是一樣?MAT的格式也可以用imshow來顯示才對啊= =

    Mat result, result_mask;
    blender->blend(result, result_mask);
    LOGLN(“Compositing, time: " << ((getTickCount() – t) / getTickFrequency()) << " sec");

    imshow("test",result);
    waitKey(30);

    imwrite(result_name, result);
    LOGLN("Finished, total time: " << ((getTickCount() – app_start_time) / getTickFrequency()) << " sec");
    return 0;
    }

  5. 感謝您的指導

    在程式的內容中有辦法讓高度相似的影像能可以繼續執行的參數可調嗎?

    就像您介紹的–warp參數一樣

    因為我去調校match_conf他都還是無法順利拼接出來!!

    不知道您再opencv這方面是否有做過類似的調整!!

  6. 感謝您的回應:

    我貼網址給您 麻煩您幫我看看

    圖一 http://imgur.com/hn5fL

    圖二 http://imgur.com/1OGtU

    不知道是程式的問題還是圖檔的問題?

    • 原來是這樣子的影像,才會讓程式無法順利拼接。
      拼接的程式會先判斷兩張影像是否高度相似,若是的話就不繼續接下來的步驟喔!

  7. 您好:

    想請教您我按照你的介紹步驟去製作全景圖並且直接使用opencv2.4的範例程式但他最後都會出現

    can’t sticth images ,erroe code=1

    想請教您不知道我是否哪裡有錯誤

隨意留個言吧:)~

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

標籤雲

%d 位部落客按了讚: