revox0x opened this issue 6 years ago · 2 comments
在下面的程序中 我理解的是if 1.0 / 8 * (height - 30) < maxLoc[1] < 4.0 / 8 * (height - 30):和 elif 5.5 / 8 * (height - 30) < maxLoc[1] < height - 30:是通过maxLoc[1]表示的最亮点的垂直方向的位置来判断红灯还是绿灯亮起,但是我不理解判断的条件是如何产生的,也就是说它为什么可以写成这样?
if 1.0 / 8 * (height - 30) < maxLoc[1] < 4.0 / 8 * (height - 30):
elif 5.5 / 8 * (height - 30) < maxLoc[1] < height - 30:
@revox0x 简单说是人为加上去的。那个红绿灯是淘宝上买的,红灯在上绿灯在下,所以亮点在大致上半部分就是红灯,下半部分那就是绿灯了。 等于是走了个捷径,当然你也可以用颜色来判断,读取进来的图像要是彩色的,然后再定义红颜色和绿颜色的区间。
感谢您的回复,我明白了。