编辑:我在编辑时没有答案,请不要回答“谷歌是你的朋友”之类的问题,我需要认真的答案。
我需要将相邻像素分成尽可能大的块的python代码。
我正在制作一个游戏,它每像素生成一个级别(不能更改,它来自用户绘制的图像)。 问题是,GPU和CPU太重了。
要解决此问题,我计划使用代码来尽可能高效地将群集中的像素分组。
我尝试将这段代码分为几行,但是我打算对其进行报废,因为某些东西将其分组为块,以便在运行速度较慢的pc上更加高效。
说明: cdata是numpy数组中的图像数据, ulevel是它从cdata扫描的“像素”,格式如下: [width,height,x,y]
level是输出列表,其格式与ulevel相同。
for yscan in range(len(cdata)):
vls=0
vlsf=False
for xscan in range(len(cdata[0])):
if not [1,1,xscan,yscan] in ulevel:
if [1,1,xscan-1,yscan] in ulevel:
level.append([xscan-vls,1,xscan,yscan])
vlsf=False
elif vlsf:
pass
else:
vls=xscan
vlsf=True
预期结果: