基本上,当一个物体经过时,这些if语句会迅速改变cv2线的颜色,问题是有4条线,我想在颜色变为绿色前后保持红色。你知道吗
这不仅看起来很糟糕,而且可能是无效的
if counter is 1:
cv2.line(input_frame, (line_pos1, 0), (line_pos1, height), line_col_green, line_size)
cv2.line(input_frame, (line_pos2, 0), (line_pos2, height), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos4), (width, line_pos4), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos5), (width, line_pos5), line_col_red, line_size)
lct1 += 1
if counter is 2:
cv2.line(input_frame, (line_pos1, 0), (line_pos1, height), line_col_red, line_size)
cv2.line(input_frame, (line_pos2, 0), (line_pos2, height), line_col_green, line_size)
cv2.line(input_frame, (0, line_pos4), (width, line_pos4), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos5), (width, line_pos5), line_col_red, line_size)
lct2 += 1
if counter is 3:
cv2.line(input_frame, (line_pos1, 0), (line_pos1, height), line_col_red, line_size)
cv2.line(input_frame, (line_pos2, 0), (line_pos2, height), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos4), (width, line_pos4), line_col_green, line_size)
cv2.line(input_frame, (0, line_pos5), (width, line_pos5), line_col_red, line_size)
lct3 += 1
if counter is 4:
cv2.line(input_frame, (line_pos1, 0), (line_pos1, height), line_col_red, line_size)
cv2.line(input_frame, (line_pos2, 0), (line_pos2, height), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos4), (width, line_pos4), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos5), (width, line_pos5), line_col_green, line_size)
lct4 += 1
if counter is 0:
cv2.line(input_frame, (line_pos1, 0), (line_pos1, height), line_col_red, line_size)
cv2.line(input_frame, (line_pos2, 0), (line_pos2, height), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos4), (width, line_pos4), line_col_red, line_size)
cv2.line(input_frame, (0, line_pos5), (width, line_pos5), line_col_red, line_size)
使用dict(或list)怎么样?你知道吗
以及
lct
变量的Counter。你知道吗扩展我的评论。 下面是一些简单的例子来说明如何使用函数来实现这一点。这可能不是唯一的方法,也许还有更好的方法,但是你可以从这样的方法开始。你知道吗
一般的经验法则可以帮助你:如果你发现自己在写代码的时候复制粘贴行,停下来想想你是否可以把它变成一个函数。你知道吗
另外,请注意:使用
==
与int进行比较,而不是使用is
。你知道吗免责声明:此代码未经测试,请在使用前验证并进行必要的更改。你知道吗
主要有两件事:
if
是独占的,则使用elif
而不是多个if
。你知道吗您还可以(但不是必须)使用“custom”switch-case in python
相关问题 更多 >
编程相关推荐