Orginal
和Mutated
是图像。
我需要分别得到r,g,b的差值。我有这个代码工作,但它是慢。任何帮助都会很好!:)
Orginal = np.asarray(Orginal).copy()
Mutated = np.asarray(Mutated).copy()
Fittnes = 0
for x in range(0, 299):
for y in range(0, 299):
DeltaRed = (Orginal[x][y][0] - Mutated[x][y][0])
DeltaGreen = (Orginal[x][y][1] - Mutated[x][y][1])
DeltaBlue = (Orginal[x][y][2] - Mutated[x][y][2])
Fittnes += (DeltaRed * DeltaRed + DeltaGreen * DeltaGreen + DeltaBlue * DeltaBlue)
return Fittnes
如果你不进行额外的压缩,然后对每个维度求和,而不是使用numpy的求和函数,速度应该会快很多:
有一种方法可以用^{} 一次求和
这是另一个使用^{} 的,希望更快,当使用
uint8
图像时-这是从一开始就有效的代码。你知道吗
相关问题 更多 >
编程相关推荐