Skip to content

[opencv python]処理時間計測

atinfinity edited this page Jul 27, 2016 · 5 revisions

[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]

備考

筆者は以下の環境で動作確認しました.


Menu

Computer Vision

GPGPU

AR

ROS

Docker

Jetson

ARM

プログラミング言語

開発環境

勉強会

Clone this wiki locally