獨(dú)家|OpenCV 1.5 利用OpenCV疊加(混合)兩幅圖像
目標(biāo)
在本教程中,你將學(xué)習(xí)以下內(nèi)容:
什么是線性疊加?為什么它非常有用;
如何利用 addWeighted()函數(shù)疊加兩幅圖像。
理論
注
下述解釋援引自理查德·斯?jié)衫够?Richard Szeliski)的《計(jì)算機(jī)視覺算法和應(yīng)用》一書。
從以前的教程中,我們已經(jīng)學(xué)習(xí)了一些像素的操作。線性疊加操作符是一個比較有趣的二元(雙輸入)運(yùn)算符:
通過改變α的取值(從0→1),此操作符可執(zhí)行兩幅圖像或視頻之間時間交叉疊加,正如幻燈片放映和電影制作中所示(是不是很酷?)
源代碼
下載源代碼。
解釋
為了執(zhí)行:
需要輸入兩幅源圖像( f 0 ( x)和f 1 ( x ) )。因此,我們用常用的方法加載兩幅圖像:
在這里用到 LinuxLogo.jpg 和 WindowsLogo.jpg兩幅圖像
警告
添加的兩幅圖像src1和src2必須具備相同的大小(寬度和高度)和數(shù)據(jù)類型。
接下來,需要生成g(x)圖像。為此,利用addWeighted()函數(shù)可以很方便地實(shí)現(xiàn):
addWeighted()函數(shù)的輸出為:
其中,gamma是上述代碼中的參數(shù)0.0。
創(chuàng)建窗口,顯示圖像,等待用戶結(jié)束程序。
結(jié)果圖像
注:本文以C++語言代碼為例,獲取Java和python版本可在原文中查看:
https://docs.opencv.org/4.5.2/d5/dc4/tutorial_adding_images.html
下一小節(jié):1.6 改變圖像的對比度和亮度!
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。