话不多说,直接看代码!
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")
结果展示: