import numpy as np
import json,os,sys
from PIL import Image
def mkdir(path):
folder = os.path.exists(path)
if not folder:
os.makedirs(path)
def method(depts, start, end, url, newurl):
'''
:param depts: 马瑟克块元素大小
:param start: 马赛克横坐标起点元组
:param end: 马赛克纵坐标起始点元组
:return:
主要通过中间值的rgb对局部范围块的rgb做修改,depts值越小越精确
'''
im1 = np.array(Image.open(url))
for i in range(start[0], start[1], depts): # y轴
for j in range(end[0], end[1], depts): # x轴
im1[i:i + depts, j:j + depts] = im1[i + (depts // 2)][j + (depts // 2)]
im2 = Image.fromarray(im1.astype("uint8"))
im2.save(newurl)
im2.show()
if __name__ == '__main__':
imglist = [article_id for article_id in sys.argv[1].strip().split(',')]
dir = imglist[0]
mulu = '/www/wwwroot/***.***.com'
f = open("/www/wwwroot/***.****.com/canvas/"+dir+".json")
se = json.load(f)
res = []
for k, v in se.items():
for k1, v1 in v.items():
url = mulu +k
newurl = mulu + '/Upload' + k
src = os.path.splitext(k)
path = "/" + src[0].split('/')[-5] + "/" + src[0].split('/')[-4] + "/" + src[0].split('/')[-3] + "/" + src[0].split('/')[-2]
newurlmu = mulu + '/Upload/Upload' + path
mkdir(newurlmu)
folder = os.path.exists(newurl)
if folder:
url = newurl
method(10, (int(v1['y']), (int(v1['y'])+int(v1['height']))), (int(v1['x']), (int(v1['x'])+int(v1['width']))), url, newurl) #坐标打码:起始坐标加上宽高才是结束坐标
backurl = '/Upload' + k
res.append(backurl)
f.close()
kyse = list(se.keys())
for i in range(len(kyse)):
se[res[i]] = se.pop(kyse[i])
jsonfile=json.dumps(se)
with open("/www/wwwroot/***.*****.com/canvas/"+dir+".json", 'w') as f:
f.write(jsonfile)
print(1)
python3 打码功能实现
最新推荐文章于 2023-11-21 21:37:45 发布