[opencv python]処理時間計測 - atinfinity/lab GitHub Wiki
[OpenCV/Python]処理時間計測
サンプルコード
import cv2
import sys
# パフォーマンス計測用関数
def measuring_func(image):
    # 処理時間計測開始
    start = cv2.getTickCount()
    for var in range(0, 10):
        blur = cv2.medianBlur(image, 49)
    # 処理時間計測終了
    end = cv2.getTickCount()
    # 処理時間算出
    time = (end - start)/cv2.getTickFrequency()
    # SIMD最適化が有効か否かを表示
    print("cv2.useOptimized: " + str(cv2.useOptimized()))
    # 処理時間表示
    print(" " + str(time) + "[sec]")
if __name__ == "__main__":
    img = cv2.imread("lena.jpg", cv2.IMREAD_UNCHANGED)
    # 画像ファイルの読み込みに失敗したらエラー終了
    if img is None:
        print("Failed to load image file.")
        sys.exit(1)
    # SIMD最適化を無効にする
    cv2.setUseOptimized(False)
    measuring_func(img)
    # SIMD最適化を有効にする
    cv2.setUseOptimized(True)
    measuring_func(img)
標準出力結果
cv2.useOptimized: False
 0.6965511724093792[sec]
cv2.useOptimized: True
 0.3815265722125777[sec]
備考
筆者は以下の環境で動作確認しました.
- OpenCV 3.0.0
- Python 3.4.3 64bit