tata色々な備忘録

データ解析、画像解析、化学分析などなど

python+Opencvによる画像処理5(画像結合とマスク)

1.重み付け

import cv2
import numpy as np

im1 = cv2.imread("lena.jpg")
im2 = cv2.imread("lenna-image.jpg")

alpha = 0.5
beta = 0.3

add = cv2.addWeighted(im1,alpha,im2,beta,0)

cv2.imwrite('add.jpg',add)

f:id:tatabox2000:20130715220821j:plain

alphaとbetaの数値で重み付けして合成可能
同一サイズの画像が必要

2. マスク

import cv2
import numpy as np

def mask_test(im):
    if im.ndim == 2:
        pass

    else :
        hight = im.shape[0]
        width = im.shape[1]
        mask1 =np.zeros((hight,width,1),np.uint8)
        mask1[0:hight,0:width]= 255
        mask1[260:300,240:380]=0
        res = cv2.bitwise_and(im,im,mask=mask1)
        cv2.imshow("",res)
        cv2.waitKey(0)
        cv2.destroyAllWindows()  

if __name__ == '__main__':
    im = cv2.imread("lena.jpg")
    if not (im == None):
        mask_test(im)

f:id:tatabox2000:20130715200424p:plain

cv2.bitwise_and(画像1,画像2,mask=マスク画像)
#画像1と画像2を合体させ、マスク画像で一部不可視に

何に使うんだ、これ……