博客專欄

EEPW首頁 > 博客 > 獨家|OpenCV 1.5 利用OpenCV疊加(混合)兩幅圖像

獨家|OpenCV 1.5 利用OpenCV疊加(混合)兩幅圖像

發(fā)布人:數(shù)據(jù)派THU 時間:2021-08-07 來源:工程師 發(fā)布文章

目標(biāo)

在本教程中,你將學(xué)習(xí)以下內(nèi)容:

什么是線性疊加?為什么它非常有用;

如何利用 addWeighted()函數(shù)疊加兩幅圖像。

理論

下述解釋援引自理查德·斯?jié)衫够?Richard Szeliski)的《計算機(jī)視覺算法和應(yīng)用》一書。

從以前的教程中,我們已經(jīng)學(xué)習(xí)了一些像素的操作。線性疊加操作符是一個比較有趣的二元(雙輸入)運(yùn)算符:

1.png

通過改變α的取值(從0→1),此操作符可執(zhí)行兩幅圖像或視頻之間時間交叉疊加,正如幻燈片放映和電影制作中所示(是不是很酷?)

源代碼

下載源代碼。

2.png

解釋

為了執(zhí)行:

3.png

需要輸入兩幅源圖像( f 0 ( x)和f 1 ( x ) )。因此,我們用常用的方法加載兩幅圖像:

4.png

在這里用到 LinuxLogo.jpg 和 WindowsLogo.jpg兩幅圖像

警告

添加的兩幅圖像src1和src2必須具備相同的大?。▽挾群透叨龋┖蛿?shù)據(jù)類型。

接下來,需要生成g(x)圖像。為此,利用addWeighted()函數(shù)可以很方便地實現(xiàn):

9.png

addWeighted()函數(shù)的輸出為:

5.png

其中,gamma是上述代碼中的參數(shù)0.0。

創(chuàng)建窗口,顯示圖像,等待用戶結(jié)束程序。

6.png

結(jié)果圖像

7.png

注:本文以C++語言代碼為例,獲取Java和python版本可在原文中查看:

https://docs.opencv.org/4.5.2/d5/dc4/tutorial_adding_images.html

下一小節(jié):1.6 改變圖像的對比度和亮度!

*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉