1. 程式人生 > >OpenCV學習系列教程第五篇:測試和提高程式碼的效率

OpenCV學習系列教程第五篇:測試和提高程式碼的效率

Opencv-Python學習系列教程第五篇

來自opencv-python官方學習文件,本人謹做翻譯和註釋,以及一些自己的理解

本文由作者翻譯並進行程式碼驗證,轉載請註明出處~

官方文件請參閱:https://docs.opencv.org/4.0.1/dc/d71/tutorial_py_optimization.html

執行環境:

windows10+pycharm professional 2018.3+python 3.7.1+opencv 4.0.1

在處理圖片的過程中,你的程式碼的正確率和處理效率同樣的重要。

1.       目標

1)  測量程式碼效率

2)  提高程式碼效率的意見

3)  學習到cv.getTickCount、cv.getTickFrequency等

除了以上的函式之外,也可以用time來測試執行時間。另一個模組profile提供了獲取詳細的執行引數,比如在函式塊中每一個函式的執行時間、函式被呼叫的次數等。

2.       獲取程式碼效率

cv.gettickcount函式返回引用事件(如開啟Moment Machine)後到呼叫此函式時的時鐘週期數。因此,如果在函式執行之前和之後呼叫它,您將得到用於執行函式的時鐘週期數。

cv.gettickfrequency函式返回時鐘週期的頻率或每秒的時鐘周

使用時,方式如下:

e1 = cv.getTickCount()
e2 = cv.getTickCount()
time = (e2 - e1)/ cv.getTickFrequency()

除了cv.getTickCount函式外,也可以使用time.time()函式