#竖版原始图片-上下重叠-涂抹上下-一个样本一共56张(7行8列)一列8张,第一列不涂抹,其他列都涂抹图片上边高300像素
import os
import numpy as np
from PIL import Image
#下侧涂白
def changecolorl(file):
img = Image.open(file) # 读取系统的内照片
array = np.array(img)
# 涂白函数changecolorl
colorl = [255, 255, 255]
for col in range(0, 1216): # 宽度1216,
for row in range(0, 300): # 高度300
array[row, col] = colorl
new_img = Image.fromarray(array)
new_img.save(file)
#右侧涂白
def changecolorl_1(file):
img1 = Image.open(file) # 读取系统的内照片
array1 = np.array(img1)
#涂白函数changecolorl_1
colorl_black = [255, 255, 255]
for col in range(916, 1216): # 涂抹值计算1216-300=916
for row in range(0, 1936): # 高度1936像素
array1[row, col] = colorl_black
new_img1 = Image.fromarray(array1)
new_img1.save(file)
def piliang(srcdir):
srcfiles = os.listdir(srcdir) # 遍历文件夹
for srcfile in srcfiles: # 依次循环文件
srcfile1 = os.path.join(srcdir, srcfile) # 依次获得文件的完整文件路径和文件名字
a = srcfile1.rsplit("_", 1)
c = srcfile1.rsplit("_", 2) #
b = a[1].rsplit(".", 1)
#判断列号不为7,做右侧涂白处理
if int(b[0]) != 7:
changecolorl_1(srcfile1)
#判断行号不为0,做上侧涂白处理
if int(c[1]) != 0:
changecolorl(srcfile1)
print("game over")
piliang("F:/jpg3-ZD/测试/001/")
代码如上,根据图片名称判断修改区域。
例如图片名称为0011_0_0.jpg的,0011为图片id号,第一个0为行号,第二个0位列号。图片尺寸是1936*1216。