OpenCV.js でテンプレートマッチングの各アルゴリズムの処理時間を計測してみる

2020/03/07 20:35

OpenCv.js のテンプレートマッチングには6つのアルゴリズムがありますが、それぞれどの程度処理時間の差があるのか気になったので、各アルゴリズムの処理時間を測ってみました。

以下が計測に使った入力画像です。解像度は 1080 × 1920 です。

入力画像

以下がテンプレート画像です。解像度は 97 × 104 です。

テンプレート画像

これらの画像を cv.matchTemplate() に入力して、30回分の処理時間の平均を取りました。


マスクなし マスクあり
TM_SQDIFF 564 ms 1248 ms
TM_SQDIFF_NORMED 566 ms 使用不可
TM_CCORR 545 ms 使用不可
TM_CCORR_NORMED 573 ms 1258 ms
TM_CCOEFF 556 ms 使用不可
TM_CCOEFF_NORMED 578 ms 使用不可

TM_SQDIFF が高速になると予想していたのですが、結果としてはどれもほとんど差はありませんでした。マスクを入力した場合はかなり処理時間が遅くなりました。TM_SQDIFF は誤判定が多いので、速度差がないなら TM_CCOEFF などを使った方が良さそうですね。


  このエントリーをはてなブックマークに追加    

<<「Web 開発」の記事一覧に戻る

関連記事