zoukankan      html  css  js  c++  java
  • 2020网鼎杯青龙组 MISC 虚幻2

    我也希望misc能输出啊 ,可是实力不允许啊

    题目给了一个图片

    查看像素发现是36*12,汉信码应该是正方形,这个图片还是有点规律的,感觉应该是什么压缩之类的,但是没想到是看RGB,其实正常的话还是应该看一下rgb的。。。还是太菜了hhh
    每个像素有三个rgb,分出来,是255的话就是1,是0的话就是0。

    from PIL import Image
    
    x = 36	  #x坐标	
    y = 12	  #y坐标	
    
    im=Image.open('file.png')
    file = open('11','w')
    
    #im.show()
    z=''
    for i in range(0, x):
        for j in range(0, y):
            rgb=im.getpixel((i, j))
            print(rgb)
            if(rgb[0]==0):
                z+='1'
            elif(rgb[0]==255):
                z+='0'
            if(rgb[1]==0):
                z+='1'
            elif(rgb[1]==255):
                z+='0'
            if(rgb[2]==0):
                z+='1'
            elif(rgb[2]==255):
                z+='0'
    print(z)
    file.write(z)
    

    一个读出一个写入。。

    from PIL import Image
    
    x = 36	  #x坐标	
    y = 36	  #y坐标	
    
    im = Image.new("RGB", (x, y))	
    file = open('11','r')	
    
    a=file.read()
    z=0
    for i in range(0, x):
    	for j in range(0, y):
    		print(a[z])
    		if(a[z]=='1'):
    			im.putpixel((i, j), (255, 255, 255))
    		elif(a[z]=='0'):
    			im.putpixel((i, j), (0, 0, 0))
    		z=z+1
    
    im.show()
    im.save('1.png')
    

    再组成汉信码,在进行一下小修改,最后空白的一部分提示是爆破,可以直接画两下,分辨的时候会自动修复

    跟二维码一样也有差错校验。。。也是应该的吧

  • 相关阅读:
    Fast Member
    C++箴言:理解typename的两个含义
    网上资源工具
    WeakReference
    MonoGame教程
    The RAII Programming Idiom
    OpenGL Common Mistakes
    Finalize()、Dispose()、SafeHandle、GC
    Interop with Native Libraries
    C++计算几何库
  • 原文地址:https://www.cnblogs.com/p201821440039/p/12900273.html
Copyright © 2011-2022 走看看