[英]to print a gray scale image if i have the matrix of intensities in python
a=[[22,10,21,22,15,16],
[24,21,13,20,14,17],
[23,17,38,23,17,16],
[25,25,22,14,15,21],
[27,22,12,11,21,20],
[24,21,10,12,22,23]
]
将此列表列表视为二维数组,谁能帮助我如何以python中的图像形式打印此矩阵。
您想使用诸如Pillow (Python图像库的一个分支)之类的库。
看一下Image.frombuffer函数,它使您可以从原始像素数据构建图像。
您可以尝试查看pygame。 这是一个非常方便的模块,一直在使用。
这是一个有效的示例代码:
import pygame
a=[[22,10,21,22,15,16],
[24,21,13,20,14,17],
[23,17,38,23,17,16],
[25,25,22,14,15,21],
[27,22,12,11,21,20],
[24,21,10,12,22,23]]
BLOCKSIZE = 16
WIDTH = len(a[0]) * BLOCKSIZE
HEIGHT = len(a) * BLOCKSIZE
DISPLAY = (WIDTH, HEIGHT)
WHITE = (255.0,255.0,255.0)
pygame.init()
screen = pygame.display.set_mode(DISPLAY,0,32)
x = y = 0
for row in a:
for item in row:
screen.fill((WHITE[0]*item/50,WHITE[1]*item/50,WHITE[2]*item/50),(x,y,BLOCKSIZE,BLOCKSIZE))
y += BLOCKSIZE
x += BLOCKSIZE
y = 0
pygame.display.update()
while 1:
pass
该代码的作用是查看该值,然后将其转换为对应于其值的灰色(0为黑色,50为白色)。 然后将其绘制在屏幕上。
再次,请阅读pygame。 这真的很有用
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.