所以这是一个简单的灰色图像分色功能。灰点= 64
def grayPosterize(pic):
grayPoint = 64
for p in getPixels(pic):
r = getRed(p)
g = getGreen(p)
b = getBlue(p)
luminiance = (r+g+b)/3
if luminance < grayPoint:
setColor(p,black)
if luninance >= grayPoint:
setColor(p,white)
因为这个程序使用64作为灰点,有时明亮的图片变成所有白色和黑色的图片变成全黑。
我想要程序而不是使用64作为灰点,尝试所有可能的灰点(0到256)以找到最佳的分色图片结果(通过使用距离找到最接近原始图片)< / p>
比较不同的代码示例。
def imageDiff(img1,img2):
if getWidth(img1)!=getWidth(img2) or getHeight(img1)!=getHeight(img2):
print "Error calculating the image difference. img1 dimensions different to img2 dimensions!"
return -1
totalDistance=0
for px1 in getPixels(img1):
x=getX(px1)
y=getY(px1)
px2=getPixel(img2,x,y)
clr1=getColor(px1)
clr2=getColor(px2)
totalDistance=totalDistance+ distance(clr1,clr2)
return totalDistance
我该怎么做?
提前致谢。