openCV實現(xiàn)圖像融合的示例代碼
1. 概念
圖像融合: 兩幅圖片疊加在一起,形成前景背景的效果。
2. 流程
(1)讀入要融合的兩幅圖片。
(2)把兩幅圖片調整到統(tǒng)一大小,方便下一步疊加。
(3)對兩幅圖片按照一定的權重相加。
(4)顯示圖片。img1,img2 --> resize --> cv2.addWeighted()–>show
addWeighted方法:
函數(shù)原型:
void addWeighted(InputArray src1, double alpha, InputArray src2,double beta, double gamma, OutputArray dst, int dtype=-1);
這個函數(shù)實現(xiàn)對輸入的兩幅圖像進行線性系數(shù)的加權和。
第一個參數(shù):src1,表示進行加權操作的第一個圖像對象
第二個參數(shù):double型的alpha,表示第一個圖像的加權系數(shù)
第三個參數(shù):src2,表示進行加權操作的第二個圖像對象
第四個參數(shù):double型的beta,表示第二個圖像的加權系數(shù),很多情況下,有關系 alpha+beta=1.0
第五個參數(shù):double型的gamma,表示一個 作用到加權和后的圖像上的標量,可以理解為加權和后的圖像的偏移量
第六個參數(shù):dst,表示兩個圖像加權和后的圖像,尺寸和圖像類型與src1和src2相同
3 代碼
''' 圖像融合(對圖像加權):img1,img2 --> resize --> cv2.addWeighted() --> show ''' import cv2 import matplotlib.pyplot as plt # 1 read fg = cv2.imread('fg.png', 1) bg = cv2.imread('bg.png', 1) fg = cv2.cvtColor(fg,cv2.COLOR_BGR2RGB) bg = cv2.cvtColor(bg,cv2.COLOR_BGR2RGB) # 2 resize fg = cv2.resize(fg,(850,550),interpolation=cv2.INTER_AREA) bg = cv2.resize(bg,(850,550),interpolation=cv2.INTER_AREA) # 3 addWeighted w1 = 0.8 w2 = 0.2 re = cv2.addWeighted(fg,w1,bg,w2,0) # 4 show plt.subplot(131) plt.imshow(fg) plt.title('fg') plt.subplot(132) plt.imshow(bg) plt.title('bg') plt.subplot(133) plt.imshow(re) plt.title('re') plt.show()
到此這篇關于openCV實現(xiàn)圖像融合的示例代碼的文章就介紹到這了,更多相關openCV 圖像融合內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用python對泰坦尼克號幸存者進行數(shù)據(jù)分析與預測
這篇文章主要介紹了使用python對泰坦尼克號幸存者進行數(shù)據(jù)分析與預測,應用機器學習的工具來預測哪些乘客在悲劇中幸存下來2023-03-03利用Python在一個文件的頭部插入數(shù)據(jù)的實例
下面小編就為大家分享一篇利用Python在一個文件的頭部插入數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Object arrays cannot be loaded when
這篇文章主要介紹了Object arrays cannot be loaded when allow_pickle=False,本文給大家分享問題解決思路,需要的朋友可以參考下2022-11-11python實現(xiàn)在無須過多援引的情況下創(chuàng)建字典的方法
這篇文章主要介紹了python實現(xiàn)在無須過多援引的情況下創(chuàng)建字典的方法,是非常實用的技巧,需要的朋友可以參考下2014-09-09