实现目标:二值化图像与原图进行叠加,设置权重显示图像病灶区域
# coding=utf-8
import os
import cv2
# 底板图案
DATADIR="E:/DATA/8"
bottom_pic=os.path.join(DATADIR)
# 上层图案
DATADI="E:/DATA/new8"
top_pic=os.path.join(DATADI)
img_list=os.listdir(bottom_pic)
img_lis =os.listdir(top_pic)
ind=0
k=0
for i in img_list:
j = img_lis[k]
bottom=cv2.imread(os.path.join(bottom_pic,i),cv2.IMREAD_COLOR)
top=cv2.imread(os.path.join(top_pic,j),cv2.IMREAD_COLOR)
h, w, _ = bottom.shape
img2 = cv2.resize(top, (w,h), interpolation=cv2.INTER_AREA)
#alpha,beta,gamma可调
alpha = 0.7
beta = 1-alpha
gamma = 0
# 权重越大,透明度越低
overlapping = cv2.addWeighted(bottom, alpha, img2, beta, gamma)
#cv2.addWeighted(bottom, 0.5, img2, 0.5, 0)
#overlapping = cv2.addWeighted(bottom,0.8,top,0.2,0)
# 保存叠加后的图片
k=k+1
ind=ind+1
save_path='C:/Users/14281/Desktop/1/'+str(ind)+'.jpg'
cv2.imwrite(save_path, overlapping)
实验结果
二值化图像:
原图:
结果: