对图片加上irregular mask操作

需求:在图像修复时,需要输入带有irregular mask的图像。原图+irregular mask即为带有irregular mask的图像。
从partial conv论文相关链接中下载mask数据集对图片加上irregular mask操作_第1张图片
对原图进行添加mask操作,原图为:
对图片加上irregular mask操作_第2张图片
添加mask后输出图片为:
对图片加上irregular mask操作_第3张图片
代码如下:
(运行前先安装cv2,快速安装方法见我的另一篇博文:python安装cv2包)

import numpy as np
import os
import cv2

def put_mask(img_path,output_fold):

    # 1.读取原图
    image = cv2.imread(img_path)

    # 2.读取mask图
    mask = cv2.imread('c:/users/administrator/desktop/picture/changed_00000.png')

    try:
    	# alpha 为第一张图片的透明度,这里都设为1
        alpha = 1
        # beta 为第二张图片的透明度,这里都设为1
        beta = 1
        gamma = 0
        # cv2.addWeighted 将原始图片与 mask图 融合
        mask_img = cv2.addWeighted(image, alpha, mask, beta, gamma)
        #读出融合后的图mask_img
        cv2.imwrite(os.path.join(output_fold,'mask_img.jpg'), mask_img)
    except:
        print('异常')

#这里输入原图的读取路径和设置最终生成的融合图的保存路径
put_mask(img_path = 'c:/users/administrator/desktop/places2.jpg',
         output_fold='c:/users/administrator/desktop/image_mask')

你可能感兴趣的:(对图片加上irregular mask操作)