gpt4 book ai didi

python - 检测python/pygame中图像之间的差异

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:33 24 4
gpt4 key购买 nike

我正在使用 Raspberry Pi(运行 Rasbian Wheezy)进行艺术项目。我正在制作游戏中时光倒流,其中仅替换已更改的图像区域。

当使用 alpha channel 从两个不同阵列的像素创建 PixelArray 以确定使用哪个像素时,处理器会达到极限并且运行速度非常慢:

  alphachannelarray = basearray.compare(imgarray, distance=0.08, weights=(0.01, 0.01, 0.01))

alphachannel = alphachannelarray.make_surface()

for col in range (0, 800):
for cell in range (0, 600):
if alphachannelarray[col, cell] == alphachannel.map_rgb ((0,0,0)):
imgarray[col, cell] = imgoldarray[col,cell] #if alpha channel is black use imgold pixel


elif alphachannelarray[col, cell] == alphachannel.map_rgb ((255,255,255)):
imgarray[col, cell] = imgarray[col][cell] #il alpha channel is white use img pixel

在 pygame 中有没有一种方法可以比 for 循环更快地访问图像中的所有像素?

谢谢!-汤米

最佳答案

我不知道完整的答案,但有一些想法/注意事项:

  1. 我不确定您对 alpha 位图传输到底做了什么。如果您不需要 alpha,您最好将图像的子矩形 blitting。我认为您正在保存一个“差异”的外部图像,让其他像素透明?

  2. 尝试使用切片表示法访问 PixelArray 而不是元组。 imgarray[x:y] = (255,255,0) vs imgarray[x, y] = (255, 255, 0) 防止使用 numpy 数组.更多示例:http://www.pygame.org/docs/ref/pixelarray.html#pygame.PixelArray

  3. PixelArray.compare (docs)使用阈值。您可能正在寻找无阈值比较。

关于python - 检测python/pygame中图像之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13148044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com