看了python網(wǎng)上圖片合并都是互抄沪哺,其實大部分人需要的合并只需要把一個圖片粘貼到另一張圖片就行了沈自。
下面是合并前的圖片:
下面是需要合并的素材:
合并后的效果:
圖片準(zhǔn)備工作:
1: 確保兩張圖片位置比例正確或者大小一樣。(省去寫覆蓋位置的代碼)
2: 確保素材不需要顯示的部分的RGB是 (0辜妓,0枯途,0)怎么修改圖片RGB自己查ps。(以免合并的時候直接覆蓋原圖)
代碼工作:
安裝python模塊:
pip3 install opencv-python
pip3 install numpy
代碼思路
1: 把兩張圖片剪輯成一個大小,比如512*512
2: 素材覆蓋底圖
修改素材大小代碼:
def ModifySizeOfPicTo512(_PicLocation):
????im1 = cv2.imread(_PicLocation) #素材的位置
????im2 = cv2.resize(im1, (512,512), interpolation=cv2.INTER_CUBIC)#改變素材大小孽惰,代碼中的512根據(jù)自己需求修改
????cv2.imwrite(_PicLocation, im2)#從新寫入素材
????return _PicLocation #返回素材位置
覆蓋素材代碼
def CombinePicOpenVC(_pathPic1,_pathPic2):
????img1 = cv2.imread(ModifySizeOfPicTo512(_pathPic1)) #底圖?_pathPic1 為底圖位置
????img2 = cv2.imread(ModifySizeOfPicTo512(_pathPic2)) #素材?_pathPic2 為素材位置
????img_mix = cv2.addWeighted(img1, 1, img2,1, 0) #合并捶索,其中參數(shù)1表示透明度,第一個1表示img1不透明灰瞻,第二個1表示img1不透明,如果改成0.5表示合并的時候已多少透明度覆蓋辅甥。
????cv2.imwrite(_pathPic1, img_mix) #合并完畢酝润,_pathPic1底圖被修改成合并后的圖片
代碼實例:
CombinePicOpenVC('/Users/yupengqin/Desktop/app_icon.png','/Users/yupengqin/Desktop/icon_flag.png')
大家可以根據(jù)自己的需求修改成自己的方法,我這個方法的要點就是素材不需要部分處理成RGB(0璃弄,0要销,0)和素材大小保持一致,這樣可以快速合并圖片夏块,希望能幫助到家疏咐。