放大发现里面大多数都是白点,而且还混有其他有颜色的点,前面地方能看出vn两个字母
参考这个大佬的博客说是要取出所有的杂色点
大佬的代码
from PIL import Image
img = Image.open(r'g:\share\20220212\flag.png')
w, h = img.size
res = Image.new('RGB', (w//50, h//31), 255)
for x in range(w):
for y in range(h):
p = img.getpixel((x, y))
if p != (0, 0, 0):
res.putpixel(((x-22)//50,(y-10)//31), p)
res.save(r'g:\share\20220212\flag2.png')
运行结果
官方wp
import sys
from PIL import Image
img=Image.open(sys.argv[1])
img = img.resize((79, 71), Image.NEAREST)
img.save(sys.argv[2])
img.resize((width, height),Image.ANTIALIAS)(改变图片的大小) 第二个参数: Image.NEAREST :低质量 Image.BILINEAR:双线性 Image.BICUBIC :三次样条插值 Image.ANTIALIAS:高质量
找了下sys.argv[1]的用法,这里应该是替代原文件的绝对路径,替换后代码
import sys
from PIL import Image
img=Image.open("C:/Users/86183/Desktop/VNCTF/misc/flag/flag.png")
img = img.resize((79, 71), Image.NEAREST)
img.save("C:/Users/86183/Desktop/VNCTF/misc/flag/flag2.png")
运行结果:
最终flag:vnctf{34aE@w}
原图与flag的比较结果
改成100*100看看
img = img.resize((100, 100), Image.NEAREST)
img.resize 是按照比例缩放,但是为啥是缩放到(79, 71)就不清楚了,一个数值不变结果就出不来。
|