OpenCV學(xué)習(xí)之圖像的疊加與混合詳解
本文是OpenCV圖像視覺入門之路的第9篇文章,本文詳細(xì)的在圖像上面進行了圖像疊加圖像混合等操作。
1.圖像疊加
圖片疊加一般加入水印用的特別多,比如視頻網(wǎng)站、圖片素材網(wǎng)等等
import cv2 from PIL import Image, ImageFont, ImageDraw import matplotlib.pyplot as plt import numpy as np from numpy import unicode if __name__ == '__main__': img1 = cv2.imread("D:/Jupyter_Notebooks/0.jpg") # 讀取彩色圖像(BGR) img2 = cv2.imread("D:/Jupyter_Notebooks/1.3.png") # 讀取 CV Logo # 我想把logo放在左上角,所以我創(chuàng)建了ROI rows, cols, channels = img2.shape roi = img1[0:rows, 0:cols] # 現(xiàn)在創(chuàng)建logo的掩碼,并同時創(chuàng)建其相反掩碼 img2gray = cv2.cvtColor(img2, cv2.COLOR_BGR2GRAY) ret, mask = cv2.threshold(img2gray, 10, 255, cv2.THRESH_BINARY) mask_inv = cv2.bitwise_not(mask) # 現(xiàn)在將ROI中l(wèi)ogo的區(qū)域涂黑 img1_bg = cv2.bitwise_and(roi, roi, mask=mask_inv) # 僅從logo圖像中提取logo區(qū)域 img2_fg = cv2.bitwise_and(img2, img2, mask=mask) # 將logo放入ROI并修改主圖像 dst = cv2.add(img1_bg, img2_fg) img1[0:rows, 0:cols] = dst cv2.imshow("imgAdd", img1) # 顯示疊加圖像 imgAdd cv2.waitKey(0) cv2.destroyAllWindows()
2.圖像混合
圖像的混合:將兩幅圖像按照不同的比例進行混合 cv2.addWeighted()
import cv2 from PIL import Image, ImageFont, ImageDraw import matplotlib.pyplot as plt import numpy as np from numpy import unicode if __name__ == '__main__': img1 = cv2.imread("D:/Jupyter_Notebooks/1.2.png") # 讀取彩色圖像(BGR) img2 = cv2.imread("D:/Jupyter_Notebooks/1.3.png") # 讀取 CV Logo # 混合后的圖片 dst = cv2.addWeighted(img1, 0.7, img2, 0.3, 0) # 圖片img1所占比重0.7;圖片img2所占比重0.3 cv2.imshow("imgAdd", dst) # 顯示疊加圖像 dst cv2.waitKey(0) cv2.destroyAllWindows()
需要注意:兩張圖片尺寸需要一致否則會出異常
到此這篇關(guān)于OpenCV學(xué)習(xí)之圖像的疊加與混合詳解的文章就介紹到這了,更多相關(guān)OpenCV圖像疊加混合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬取數(shù)據(jù)并實現(xiàn)可視化代碼解析
這篇文章主要介紹了Python爬取數(shù)據(jù)并實現(xiàn)可視化代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-08-08python之pyinstaller組件打包命令和異常解析實戰(zhàn)
前段時間在制作小工具的時候,直接在命令行用pyinstaller工具打包成功后,啟動exe可執(zhí)行文件的時候各種報錯, 今天,我們就分享一下踩坑經(jīng)過,需要的朋友可以參考下2021-09-09基于Mediapipe+Opencv實現(xiàn)手勢檢測功能
mediaPipe,他就是一個集成好的包括人臉關(guān)鍵位點識別、身體關(guān)鍵位點識別、手部關(guān)鍵位點識別的一個包或者庫,直接調(diào)用就能夠得到它的關(guān)鍵位點信息,本文給大家介紹Mediapipe+Opencv實現(xiàn)手勢檢測功能,感興趣的朋友一起看看吧2022-01-01Python任務(wù)調(diào)度利器之APScheduler詳解
所謂的任務(wù)調(diào)度是指安排任務(wù)的執(zhí)行計劃,即何時執(zhí)行,怎么執(zhí)行等。這篇文章主要介紹了Python任務(wù)調(diào)度利器之APScheduler詳解,需要的朋友可以參考下2020-04-04python 多線程對post請求服務(wù)器測試并發(fā)的方法
今天小編就為大家分享一篇python 多線程對post請求服務(wù)器測試并發(fā)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Django項目中包含多個應(yīng)用時對url的配置方法
今天小編就為大家分享一篇Django項目中包含多個應(yīng)用時對url的配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05