LoginSignup
1
2

More than 1 year has passed since last update.

M1 MacでPython + OpenCVを試してみる

Last updated at Posted at 2022-02-11

はじめに

前回の記事

でOpenCVによる画像のフィルター処理を試してみた折に、その高速な処理に驚き、手持ちのもう一台のPC(Macbook Air)でやってみることにしました。

Macbookのスペックは以下のようなものです。
MacbookAir (M1 2020)
チップApple M1
メモリ 8GB
OS macOS Monterey 12.1

環境構築

@ShinnnosukeNakamuraさんの記事を参考に、環境を作りました。

Pythonは3.9にUpgradeし、途中の
conda create -n py37_opencv python=3.7 anaconda
の部分は
conda create -n py39_opencv python=3.9 anaconda
のようにしました。

平滑化処理をやってみる

Windowsのときと同じように、1920 x 1200の約230万画素、グレースケール画像の3x3近傍の平滑化処理をやってみます。以下のコードを使用します。20回連続して処理を行い、処理時間の平均を表示します。

import cv2
import time

src = cv2.imread('test1.bmp',-1)
loopnum = 20
skip = 4

total = 0
for i in range(loopnum+skip):
    start = time.perf_counter()
    dst = cv2.blur(src,(3,3))
    end = time.perf_counter()
    if ( i > skip-1):
        print(str(end - start))
        total += end - start

print('Ave:',total/loopnum)

cv2.imwrite('test1_result.bmp',dst)

実行結果は以下の通りです。

0.00057787499999995
0.000581542000000046
0.000579166999999936
0.0005787919999999946
0.0005787080000000389
0.0005786249999999438
0.0005788749999999787
0.0005826669999999812
0.0005792499999999201
0.000578540999999988
0.0005786660000000055
0.0005764590000000291
0.0005809999999999427
0.0005792909999999818
0.0005787080000000389
0.0005784589999999756
0.0005784170000000532
0.0005783750000000198
0.0005671660000000633
0.0005787080000000389
Ave: 0.0005784645499999963

0.6ミリ秒!

速っ!
( д) ゚ ゚

結果画像はしっかりBlurしています。

ちなみに、Windowsでやった時はCore-i5@2.6GHzのマシンで3.3ミリ秒かかっていました。

M1 MacでのOpenCVはいま、過渡期のようで、この結果をどう捉えるのが正解か、いまいちわからないところがあります。そのあたりのことがわかってきたら、このページでお知らせしようと思います。

*iPhoneでPython + OpenCVの環境がある、という記事を読んだのでやってみました。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2