Skip to content

Instantly share code, notes, and snippets.

@prajwalsingh
Created July 31, 2019 17:36
Show Gist options
  • Save prajwalsingh/d1aaa3fab03604201b839eafda5e0c74 to your computer and use it in GitHub Desktop.
Save prajwalsingh/d1aaa3fab03604201b839eafda5e0c74 to your computer and use it in GitHub Desktop.
Opencv Mini Project
import cv2
import numpy as np
firstImage = cv2.imread('data/images/musk.jpg',1)
secondImage = cv2.imread('data/images/beard.png',-1)
secondImageResize = cv2.resize(secondImage,(300,200),interpolation=cv2.INTER_LINEAR)
alphaImageMask = secondImageResize[:,:,3]
alphaImageMask = np.uint8(np.ceil(alphaImageMask/255.0))
maskRegionOfImage = firstImage[220:420,140:440]
blueRegion = maskRegionOfImage[:,:,0]
greenRegion = maskRegionOfImage[:,:,1]
redRegion = maskRegionOfImage[:,:,2]
blueRegionMask = cv2.multiply(blueRegion,1-alphaImageMask)
greenRegionMask = cv2.multiply(greenRegion,1-alphaImageMask)
redRegionMask = cv2.multiply(redRegion,1-alphaImageMask)
mergeMaskImage = cv2.merge((blueRegionMask,greenRegionMask,redRegionMask))
secondImageResizeblueRegion = secondImageResize[:,:,0]
secondImageResizegreenRegion = secondImageResize[:,:,1]
secondImageResizeRedRegion = secondImageResize[:,:,2]
secondImageResizeblueRegionMask = cv2.multiply(secondImageResizeblueRegion,alphaImageMask)
secondImageResizegreenRegionMask = cv2.multiply(secondImageResizegreenRegion,alphaImageMask)
secondImageResizeredRegionMask = cv2.multiply(secondImageResizeRedRegion,alphaImageMask)
mergeMaskSecondImage = cv2.merge((secondImageResizeblueRegionMask,secondImageResizegreenRegionMask,secondImageResizeredRegionMask))
mergeMaskImage = cv2.add(mergeMaskImage,mergeMaskSecondImage)
firstImage[220:420,140:440] = mergeMaskImage
cv2.imshow('Musk image',firstImage)
cv2.waitKey(0)
cv2.destroyAllWindows()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment