2016-06-21 446 views
0

我正在实施基本人群动态软件。在每个时间步,在有出口的矩形区域内的所有人都沿模型指出的方向演变。每个时间步的输出应打印到图像上。我没有把这个区域画成一个矩形,把人物当作点来解决问题,但是现在我需要根据它代表的人物的速度给每个点加一个颜色。如何使用Pillow/PIL库在图像中用鲜艳的颜色绘制点

if(vel == 3): 
    draw.point((xp, yp), fill='blue') 

elif vel == 2: 
    draw.point((xp, yp), fill='red') 

elif vel == 1: 
    draw.point((xp, yp), fill='green') 

我得到以下JPG文件: enter image description here

正如你所看到的,这是非常难以分辨每个点之间的差异。 你有没有提示如何使颜色更加明亮?也欢迎有关以不同方式“输出”结果的建议。 谢谢!

+1

你试过绘制一个9x9的正方形,而不是只有一个像素?看起来抗锯齿或平滑处理使得颜色鲜艳。另一个尝试的途径是输出到一个无损PNG,而不是JPEG,甚至更高质量的JPEG。 – advance512

+1

@ advance512:感谢您的提示。由于运动单位设置为一个像素,因此使用9像素的平方将需要对算法逻辑进行重要更改。 我试图设置最高JPG质量,但我通过使用PNG得到了最好的结果。谢谢 – user123892

+0

很高兴听到它帮助你。 :) – advance512

回答

1

似乎抗锯齿或平滑使颜色没有活力。一个尝试的途径是输出到一个无损PNG,而不是JPEG,甚至更高质量的JPEG。另一种方法是使用9x9像素的正方形,平滑度较小。

相关问题