【OpenCV-Python】:批量生成掩膜图像

话不多说,直接看代码!

import cv2
import os
import numpy as np

def read_path(file_pathname):
    for filename in os.listdir(file_pathname):          # 遍历文件夹内的所有图片
        print(filename)                                 # 打印图片名称
        a = 44                                          # 设置掩膜区域的初始边线位置
        img = cv2.imread(file_pathname+'/'+filename)    # 读取图片
        mask = np.ones((128, 128, 3), dtype=np.uint8) * 255     # 255:生成全白数值矩阵(如果要生成黑色区域块,
                                                                #                   需要生成0矩阵。)
        mask[a:a + 40, a:a + 40] = 0                    # 掩膜区域大小为40×40,令该区域像素值为0(黑色)
        mask_img = cv2.bitwise_and(img, mask)           # cv2.bitwise_and是对二进制数据进行“与”操作,
                                                        # 掩膜图像白色区域是对需要处理图像像素的保留,黑色区域是对需要处理图像像素的剔除
        cv2.imwrite("I:\\LOL\\mask"+"/"+filename, mask_img)     # 保存图像到指定位置
read_path("I:\\LOL\\train_normal")

结果展示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42856191/article/details/117868291