物理吧 关注:1,249,581贴子:5,259,419
  • 10回复贴,共1

自己尝试用Python程序验证黄光显示原理

只看楼主收藏回复

大家把下图点开并放大,注意中间部分并非黄色而是“红绿色”,即由红绿条纹或散点交替拼接而成(上半区为条纹,下半区为散点)。图片可能会被百度压缩,想看原图请直接跑代码,楼下公布代码。


IP属地:上海1楼2019-07-05 23:08回复
    试了几次,发现贴吧没法排版,哪里该缩进,我标出来吧,大家能看明白就好
    from PIL import Image
    x = 300
    y = 200
    pic = Image.new("RGB", (x, y))
    for i in range(0, x):
    (缩进x1)for j in range(0, y):
    (缩进x2)pic.putpixel([i, j], (255, 255, 255))
    for i in range(0, x):
    (缩进x1)pic.putpixel([i, 100], (0, 0, 255))
    mark = 0
    for i in range(0, 200):
    (缩进x1)for j in range(0, 100):
    (缩进x2)if mark == 0:
    (缩进x3)pic.putpixel([i, j], (255, 0, 0))
    (缩进x3)mark = 1
    (缩进x2)elif mark == 1:
    (缩进x3)mark = 0
    mark = 1
    for i in range(100, 300):
    (缩进x1)for j in range(0, 100):
    (缩进x2)if mark == 0:
    (缩进x3)pic.putpixel([i, j], (0, 255, 0))
    (缩进x3)mark = 1
    (缩进x2)elif mark == 1:
    (缩进x3)mark = 0
    mark = 0
    for i in range(0, 200):
    (缩进x1)for j in range(101, 200):
    (缩进x2)if mark == 0:
    (缩进x3)pic.putpixel([i, j], (255, 0, 0))
    (缩进x3)mark = 1
    (缩进x2)elif mark == 1:
    (缩进x3)mark = 0
    mark = 1
    for i in range(100, 300):
    (缩进x1)for j in range(101, 200):
    (缩进x2)if mark == 0:
    (缩进x3)pic.putpixel([i, j], (0, 255, 0))
    (缩进x3)mark = 1
    (缩进x2)elif mark == 1:
    (缩进x3)mark = 0
    pic.show()
    pic.save("pic_out.png")


    IP属地:上海4楼2019-07-05 23:22
    回复
      宽一点


      IP属地:中国台湾5楼2019-07-06 09:33
      回复
        不该用一个像素。要弄宽一点误差才会比较小。


        IP属地:中国台湾7楼2019-07-06 11:48
        收起回复
          我用PS也搞过这种东西,屏幕的像素跟图片不是这样一一对应的


          IP属地:广东来自iPhone客户端8楼2019-07-06 14:02
          收起回复
            hash校验过了,1楼的是原图,大家把图片下载到电脑上,再放大看。


            IP属地:上海9楼2019-07-06 14:50
            收起回复