0

我刚刚构建了一个 Raspberry Pi 作为基本的测速相机,并希望对现有代码进行一些调整。我以前曾为许多项目断断续续地用各种语言进行过编程,但不是一项专门的工作。

我正在使用的代码是这样的(它很长,所以我没有在这里发布):

https://github.com/gregtinkers/carspeed.py

我想首先使用 line_profiler 来帮助调整现有代码,慢慢地让我进行更改并了解它是如何工作的。

我已经尝试转换现有脚本,以便;

  1. 整个代码保存在“main()”函数中,包括现有函数,
  2. 将现有函数定义下方的代码移动到新的“def main():”函数中,

这些导致我更改了很多现有代码以使其正常工作,但它总是不这样做,我最终迷路了!

我遵循了有关使用 line_profiler 的各种指南,并让它与现有的定义函数一起工作,但我想将其扩展到代码的其余部分。

我错过了一个非常简单的方法吗?我应该如何处理它?

4

1 回答 1

0

我无法测试代码,因为我没有 Rasberry Pi,但我会从第 57 行开始尝试这个(在你现有的函数 defs 之后)。基本上,您正在定义一个 main() 函数,然后在文件作为脚本调用时调用它(What does if __name__ == "__main__": do?)。

def main():
    # define some constants
    DISTANCE = 76  #<---- enter your distance-to-road value here
    ...
    if (state == WAITING):
        ...
        # if the `q` key is pressed, break from the loop and terminate processing
        if key == ord("q"):
            return False #<=== note return instead of break 
         
    # clear the stream in preparation for the next frame
    rawCapture.truncate(0) 

#End of main()

if __name__ == '__main__:
    main()
    # cleanup the camera and close any open windows
    cv2.destroyAllWindows()
于 2020-08-18T19:30:06.907 回答