jupyter notebook可访问链接下载。
效果如下:
代码如下:
import cv2
img0=cv2.imread('e:/rotman.jpg')
img=cv2.cvtColor(img0,cv2.COLOR_BGR2GRAY)
ret,img1=cv2.threshold(img,60,255,cv2.THRESH_BINARY)
img2=cv2.bitwise_not(img1)
model=cv2.imread("e:/sunny.jpg")
w,h=img.shape
roi=model[:w,:h]
img3=cv2.bitwise_and(roi,roi,mask=img2)
img5 = cv2.add(img3,img0)
####以下代码用以展示#####
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.subplot('331')
plt.imshow(img,cmap='gray')
plt.title('img:原灰度图')
plt.subplot('332')
plt.imshow(img1,cmap='gray')
plt.title('img1:阈值二值化')
plt.subplot('333')
plt.imshow(img2,cmap='gray')
plt.title("img2:按位非")
plt.tight_layout()
plt.subplot('334')
plt.title("img3:and,掩膜")
plt.imshow(cv2.cvtColor(img3,cv2.COLOR_BGR2RGB))
plt.subplot('335')
plt.title("img5:按位add")
plt.imshow(cv2.cvtColor(img5,cv2.COLOR_BGR2RGB))
plt.subplot('336')
model[:w,:h]=img5
plt.title("model:扩展显示")
plt.imshow(cv2.cvtColor(model,cv2.COLOR_BGR2RGB))
plt.show()