1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        基于OpenCV的圖像融合

        共 2516字,需瀏覽 6分鐘

         ·

        2020-12-18 11:41

        點擊上方AI算法與圖像處理”,選擇加"星標"或“置頂

        重磅干貨,第一時間送達


        本期我們將一起學習如何使用OpenCV的進行圖像拼接。


        01. 目錄
        • python

        • 入門

        • 步驟1 —圖像導入

        • 步驟2-調(diào)整圖像大小

        • 步驟3-融合圖像

        • 步驟4-導出結果


        02. Python

        Python是一種通用的編程語言,在分析數(shù)據(jù)方面非常流行,它還可以讓幫助我們快速工作并更有效地集成系統(tǒng)。


        03. 入門

        對于該項目,我們將僅使用OpenCV庫。在處理計算機視覺項目時,OpenCV是必備軟件包。OpenCV(開源計算機視覺庫)是一個開源計算機視覺和機器學習軟件庫OpenCV的構建旨在為計算機視覺應用程序提供通用的基礎結構,并加速在商業(yè)產(chǎn)品中使用機器感知。作為BSD許可的產(chǎn)品,OpenCV使企業(yè)可以輕松地使用和修改代碼。我們需要安裝此庫,以便可以在程序中使用它。為了使OpenCV正常工作,我們也必須安裝numpy庫。我們可以使用pip python庫管理器將它們安裝在一行中:

        pip install numpy opencv-python

        安裝完成后,讓我們將它們導入我們的代碼編輯器。對于這個項目,我們將使用Jupyter NotebookOpenCV導入為cv2,如下所示:

        import cv2

        現(xiàn)在,我們開始進行兩幅圖像的融合吧。下一步將詳細介紹此過程。


        04. 步驟1 —圖像導入

        我們可以嘗試多種不同圖像組合。比如可以將兩張不同的圖片或文本圖像與圖像組合在一起,或將彩色背景與圖像組合在一起。我將把文本圖像與漂亮的背景圖像混合在一起。讓我們先來看看這兩個圖像:

        好吧,現(xiàn)在讓我們將它們導入我們的程序中。我創(chuàng)建了一個文件夾,并將其重命名為images。它與Jupyter筆記本文件位于同一文件夾中。

        bg = cv2.imread('images/background.jpg', cv2.IMREAD_COLOR) fg = cv2.imread('images/foreground.png', cv2.IMREAD_COLOR)


        05. 第2步-調(diào)整圖像大小

        在此步驟中,我們將調(diào)整要混合的圖像的大小。此步驟也可以稱為預處理圖像。我們先調(diào)整圖像大小,以確保它們的尺寸相同。要使融合能夠正常進行,需要使用相同的大小圖像。否則,它將返回錯誤消息。在調(diào)整大小之前,讓我向您展示它們的原始大?。?/p>

        如您所見,背景圖像為853到1280像素。前景圖像為1440至2560像素。我們將使用OpenCV的調(diào)整大小功能調(diào)整它們的大小。

        dim = (1200, 800) resized_bg = cv2.resize(bg, dim, interpolation = cv2.INTER_AREA) resized_fg = cv2.resize(fg, dim, interpolation = cv2.INTER_AREA)

        現(xiàn)在,我們的圖像尺寸相同。我們可以進行下一步,開始融合過程。


        06. 步驟3 —混合圖像

        有了OpenCV,我們可以用一行代碼來完成這項工作。將為我們完成混合的功能稱為addWeighted。它有5個參數(shù),可以列出為:圖像源1,src1權重,圖像源2,src2權重,伽瑪。每個圖像的權重值必須小于1。這是混合方程式:

        blend = (image scr1)*(src1 weight) + (image scr2)*(src2 weight) + gamma

        這是函數(shù)的數(shù)學原理。讓我們看看實際情況:

        blend = cv2.addWeighted(resized_bg, 0.5, resized_fg, 0.8, 0.0)

        我們給前景加了一些權重。這樣,背景將更暗,文本將更亮。到目前為止一切順利,混合完成。現(xiàn)在,我們導出我們的最終作品。


        07. 最后一步-導出結果

        現(xiàn)在,讓我們使用imwrite方法導出最終作品。這是將圖像另存為文件夾中的新圖像文件的行。

        cv2.imwrite('blended.png', blend)

        該程序最后完成了兩個不同圖像的融合。現(xiàn)在,大家應該已經(jīng)對在實際項目中如何使用OpenCV(開源計算機視覺)庫有了一些了解。


        下載1:何愷明頂會分享


        AI算法與圖像處理」公眾號后臺回復:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經(jīng)典工作的總結分析


        下載2:leetcode 開源


        AI算法與圖像處理」公眾號后臺回復:leetcode,即可下載。每題都 runtime beats 100% 的開源好書,你值得擁有!



        下載3 CVPR2020

        AI算法與圖像處公眾號后臺回復:CVPR2020,即可下載1467篇CVPR 2020論文
            
        個人微信(如果沒有備注不拉群!
        請注明:地區(qū)+學校/企業(yè)+研究方向+昵稱


        覺得不錯就點亮在看吧


        瀏覽 41
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久小草 | 69精品人妻一区二区三区 | 欧美在线v | 午夜久久久久久 | 日韩中文字幕第一页 | 伊人网在线观看 | 18岁禁激情 | 97人人干 | 午夜插逼 | 一女被多男玩喷潮3p免费视频 |