1.读取两张图片
2.调整图片大小cv.resize
3.cv.bitwise_and或者cv.bitwise_or
import cv2 as cv
import numpy as np
import os.path
p1="../image/linux.png"
p2='../image/win.png'
#中文转换编码
def zh_ch(string):
return string.encode("gbk").decode(errors="ignore")
def read_image(path):
img=cv.imread(path)
#获取图片名字
window_name=os.path.split(path)[1]
cv.imshow(window_name,img)
return img
def operation_image(image1,image2):
newImage=cv.bitwise_and(image1,image2)
cv.imshow(zh_ch("yu"), newImage)
newImage=cv.bitwise_or(image1,image2)
cv.imshow('huo',newImage)
m1=read_image(p1)
m2=read_image(p2)
print(m1.shape)
print(m2.shape)
#重新调整图片大小
m1=cv.resize(m1,(200,150),interpolation=cv.INTER_CUBIC)
m2=cv.resize(m2,(200,150),interpolation=cv.INTER_CUBIC)
#与运算需要调整两个图片大小一样大 否则会报错
operation_image(m1,m2)
cv.waitKey(0)
cv.destroyAllWindows()
构建一个掩膜图像,使用安位与操作,保留图像内被掩膜所指定位置
import cv2
import numpy as np
img=cv2.imread('../Sources/lena.jpg')
cv2.imshow("yuantu",img)
mask=np.zeros(img.shape,dtype=np.uint8)
mask[20:160,40:160]=255
cv2.imshow('mask',mask)
c=cv2.bitwise_and(img,mask)
cv2.imshow('c',c)
cv2.waitKey(0)
cv2.destroyAllWindows()