opencv for python (6) 改变一幅图的特定区域 (往一幅图片上加标志)
生活随笔
收集整理的這篇文章主要介紹了
opencv for python (6) 改变一幅图的特定区域 (往一幅图片上加标志)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
想把oencv的標(biāo)志放在另一幅圖像上,如果使用加法,亞瑟會(huì)改變,如果使用混合,會(huì)得到透明效果,但是我不行要透明,這時(shí)就可以運(yùn)用按位運(yùn)算來實(shí)現(xiàn)。
import cv2 import numpy as np img1 = cv2.imread('opencv.jpg') #原始圖像 img2 = cv2.imread('logo.png') #logo圖像,要往原始圖像上添加rows,cols,channels = img2.shape #得到logo的尺寸 roi = img1[0:rows,0:cols ] #在原始圖像中截取logo圖像大小的部分img2gray = cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)#將logo圖像灰度化 ret,mask =cv2.threshold(img2gray,200,255,cv2.THRESH_BINARY)#將logo灰度圖二值化,將得到的圖像賦值給mask,logo部分的值為255,白色 mask_inv = cv2.bitwise_not(mask) #將mask按位取反,即白變黑,黑變白img1_bg = cv2.bitwise_and(roi,roi,mask = mask)#將原始圖像中截取的部分做處理,mask中黑色部分按位與運(yùn)算,即保留黑色部分,保留除logo位置外的部分 img2_fg = cv2.bitwise_and(img2,img2,mask = mask_inv)#將logo圖像中,mask_inv部分按位與運(yùn)算,即保留黑色部分,保留logodst = cv2.add(img1_bg,img2_fg) #圖像相加 img1[0:rows,0:cols] = dst #圖像替換cv2.imshow('res',img1) cv2.waitKey(0) cv2.destroyAllWindows()總結(jié)
以上是生活随笔為你收集整理的opencv for python (6) 改变一幅图的特定区域 (往一幅图片上加标志)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Expected more than 1
- 下一篇: html缓存ios,iOS-H5离线包本