MacのPythonで「ImportError: No module named ‘cv2’」とエラーが出る時はコマンドconda install -c menpo opencv3=3.1.0で解決しよう【Anaconda環境】

MacのPythonで「ImportError: No module named ‘cv2’」とエラーが出る時の対処法です。
(Anaconda環境、macOS Mojave 10.14.3, Python 3.5.6)
(macOS Catalina、 Python3.5.6でも検証済み)

 

結論からいうと、Anaconda環境でPython3.5環境を設定した状態( 「source activate py35」等 で
ターミナルで
conda install -c menpo opencv3=3.1.0
を実行すれば解決です。


最近、Pythonの書籍「PythonによるAI・機械学習・深層学習アプリ」のつくり方

(上記はAmazonのアソシエイトリンクを使用しています)

という本を買ったのですが、
P.133ページの
顔検出のプログラムがどうしても動きませんでした。

[ImportError: No module named ‘cv2’]
というエラーが出てしまいます。OpenCVが読み込めていないらしい。

Anaconda環境には

conda list コマンドで確認すると

opencv-python             4.1.0.25                 pypi_0    pypi
という感じでOpenCVが入っていたんですよね。

このバージョンがopencv-python 4.1.0.25となっているのにimportの名前が「cv2」になるロジックが分かりません…(超初心者)。略称はどこから調べれば良いのでしょうか。

Pythonはプログラミングは簡単でも難しくもなく普通ですが、動くまでの環境設定をするのがとても大変な印象です。

Anacondaは書籍に書いてあるとおりにインストールしてセッティングしていました。

 

そして見つけたのがこの記事。

python3でcv2をimportする方法

ターミナルで

conda install -c menpo opencv3=3.1.0

を実行しましょう。(Pythonのバージョンは3.5である必要があります。後述。)

 

PythonのOpenCVモジュールがうまく読み込めていなかったようなのですが、このコマンドで新しくインストールしたら読み込めました。

実行結果がこちらです。

画像のモデルはフリー素材サイト「ぱくたそ」でも活躍されているモデルの
河村友歌(ゆかちぃ)さんです。

conda list
をしてみたら、

opencv3                   3.1.0                    py35_0    menpo

というものが新しく入っていたので、こちらを読み込んで動いているようです。

もっと勉強せねば…

ボカロの最新曲ランキングサイト「ソングストーリー」(https://www.songstory.me/)に、深層学習の仕組みを取り込んでいけたらいいなぁと思って色々やっています。
上の書籍に、「自然言語処理を利用した機械学習」の例でスパム投稿を判定するプログラムの実践があったので使えそうだなと思ったんですよね。

(…そうしたらRailsではなくてDjangoで書き直さないといけないんですけどね。)

という訳で、Pythonで「ImportError: No module named ‘cv2’」とエラーが出た時の対処法でした。


ちなみに、Python 3.6、3.7、3.8ではopencv3はインストール出来ないので、もしそれらの環境にしている場合は

conda install python=3.5

でPythonをダウングレードする必要があります。
(opencv3をPython3.8環境でインストールしようとした場合のエラーメッセージ:

Specifications:

  – opencv3 -> python[version=’2.7.*|3.4.*|3.5.*’]

と出る。)

Pythonを3.5にダウングレードした後にopencv3をインストールしましょう。

Pythonのバージョンをダウングレードすると、それに伴うパッケージをAnacondaは検知して自動的にダウングレードして調節してくれます。かなり自由自在です。Anacondaは凄かった。

もしくは、新しい仮想環境をAnacondaで作りましょう。(こっちのほうが正攻法ですね)
Anacondaでは複数のPythonのバージョン(とそのライブラリ環境)を入れることが出来ます。

以下で詳しく説明。

まず、ターミナルで

conda create -n py35 python=3.5

とすることで、Python3.5の環境が作れます。
『py35』の部分は自分でつける名前なので何でもOKです。
色々とダウンロード&インストールされます。

うまくいったらターミナルで

conda info -e

コマンドで、仮想環境(py35)が出来ているかチェックします。
出来ていたら、

source activate py35

で環境をPython3.5の入っている仮想環境に切り替えます。
その状態で、

conda install -c menpo opencv3=3.1.0

をすればOKです。

また、この状態では描画ライブラリのmatplotlibが入っていない状態なので、加えて

conda install matplotlib

で、matplotlibをインストールします。依存関係のあるパッケージも含めてすべてインストールされます。これで完了です。

Anacondaのインストールもかなりハマるとハマります。

以下.zshrcファイルの設定方法です。

.zshrcファイルはHOMEディレクトリ直下に入れておけば大丈夫だと思います。

ローカル作業用ディレクトリ(HOMEディレクトリより下層のディレクトリ)で.zshrcをtouchコマンドで作ると、同じものがHOMEディレクトリ直下に作られました。

作業用ディレクトリで作ったものは削除しておきましたが普通に動いています。

以下、.zshrcファイルの置き場所についての参考リンク。

なにか間違っていましたらTwitter等でリプを頂けると幸いです。m(_ _)m


参考:

 

あと、カスケードファイル(顔認識に使う特徴データのファイル)をフォルダに配置していないとエラーが出ます。
以下参照。

「OpenCVで顔認識をしてみた」
https://qiita.com/K_M95/items/f1a3e7c47800adb94095

 

KORG microKEY AirがWindows10環境でBluetoothを認識しない/繋がらない時の解決方法

KORG microKEY AirがWindows10でBluetoothを認識しない/繋がらない/接続できない時の解決策です。

KORG microKEY Airを買ったのですが、Windows10ではBluetoothが繋がらないという事がありました。

ちなみにBluetoothはデスクトップパソコンに付いていなかったので、
I-ODATAの「USB-BT40LE」を購入しました。

これです。

※上記リンクはAmazonのアソシエイトリンクを利用しています。

アイ・オー・データ機器 I-O DATA USB-BT40LE [Bluetooth4.0+EDR/LE準拠 USBアダプター]-ヨドバシ.com

ヨドバシ.comにも売っています。僕はこっちで買いました。

このアダプターで全く問題なく動作しています。快適です。

使用可能なUSBのBluetoothアダプター -KORG


では解決方法です。

・KORG microKEY AirがWindows10でBluetoothが繋がらない時の解決方法
(そんなに難しくないけど知らないとハマる)

①Windows10の左下の検索窓に「korg」と打ち「KORG USB-MIDIデバイスのアンインストールプログラム(KORG MIDI Driver Uninstall Utility)」を実行する。

②必要のないUSBデバイスをMIDI1~9から削除する。

③既にインストールしている場合はMIDI10番台にある「KORG BLE-MIDIDevice」もKORG MIDI Driver Uninstall Utilityで一旦削除。

④「プログラムと機能」から「KORG BLE-MIDI Driver for Windows」を削除。

⑤KORGのウェブサイトからKORG BLE-MIDI Driver for Windowsをダウンロードして、再インストール。

⑥「KORG BLE-MIDIDevice」がMIDI1~9の一桁台に来ていれば成功。

⑦あとはペアリングすれば完了。

・Windows10のアップデート後に動かなくなった場合はドライバを再インストール

以上です。

1つ1つ見ていきましょう。



①Windows10の左下の検索窓に「korg」と打ち「KORG USB-MIDIデバイスのアンインストールプログラム(KORG MIDI Driver Uninstall Utility)」を実行する。

Windows10の検索窓(左下)に「korg」と打つと「KORG USB-MIDIデバイスのアンインストール」と出てくる。

Windows10の検索窓(左下)に「korg」とタイピングすると「KORG USB-MIDIデバイスのアンインストール」というものが出てきます。これを実行します。
「korg」だけで出てこない場合は「korg usb」と打ってみましょう。

②必要のないUSBデバイスをMIDI1~9から削除する。

「オプション」を押して削除オプションで「KORG MIDIデバイスのみ削除」のチェックを外す

「KORG MIDI Driver Uninstall Utility」が表示されると 続きを読む

ELECOM M-DUX50BKのCubaseでの多ボタンのショートカット割り当ての設定(自分用メモ)

ELECOM M-DUX50BKのCubaseでの多ボタンのショートカット割り当ての設定(自分用メモ)です。

 

設定画面1

設定画面(1~G2)

設定画面2

設定画面(G3~G11)

マウスを交換するたびにこれを覚えておかなければいけないので、ブログに上げてしまいます。
何回も同じマウスを買っていますよ。今回で3つ目ですね。

このショートカットキーはとても便利でずっと使っています。


・Windows10環境でCubaseに多ボタンが反応するのはエレコムM-DUXのみ(エレコム、ロジクールの製品を調べた限り)

多ボタンのマウスってそれなりに沢山あるんですが、Windows10/Cubaseで多ボタン割り当てが効くマウスってあまり無いんです。

調べた中だと、ELECOMのM-DUX系のゲーミングマウスはドライバソフトウェアがWindows10のCubaseに対応できています。

今のところ、
条件
・Windows10環境で
・チルトホイールがあり
・多ボタンに対応して
・Cubaseで動作確認が出来ている

というマウスは、
ELECOMのM-DUX系のマウスのみです。
(エレコム製品とロジクール製品の無線/有線マウスを探しました。)
僕はエレコムのM-DUX50BKですが、M-DUX30BK、M-DUX70BKあたりもいけると思います。

「DUX Gaming Software」というマウスのボタン割り当てソフトの設定がCubaseで反映されます。
https://www.elecom.co.jp/support/download/peripheral/mouse/m-dux_30_50/

 

ちなみに、 続きを読む

KONTAKT5のライブラリの場所とBattery3,4のライブラリの場所を移動させる方法のメモ【Windows10環境】

新しいストレージを導入して、KONTAKT5のライブラリの場所とBattery3,4のライブラリの場所を移動させたのでメモです。

・KONTAKT5のライブラリの場所を変更(移動)する方法

1. 旧ライブラリから新しいフォルダにライブラリの内容をコピペします。
2. 古いライブラリのファイルを消去します。
3. KONTAKT5スタンドアロン版を開くと「ライブラリが見つかりません」というようなエラーが出るので、ライブラリ音源1つ1つに正しいフォルダの位置を教えてあげます(英語で「マニュアルで開く」とかだったはず)。

KONTAKTライブラリを移動する方法 – Native Instruments

上のリンクの方法です。
KONTAKTは以上。

・Battery3、4のライブラリの場所を変更(移動)する方法

Battery3は、スタンドアロン版を起動して、ファイル→プリファレンスの部分にライブラリの場所を指定するパスがあるので、そこを変更するだけです。

インストール後にBATTERY 3 Libraryを移動することはできますか? – Native Instruments

上の方法ですね。ライブラリのデータはKONTAKTと同様にコピペでOK。

Battery4は、 続きを読む

インストゥルメンタル選択 + プラグイン選択(設定込み)で自分の定番のトラック設定を呼び出せるCubaseの「トラックプリセット」機能を使おう

Cubaseで楽曲制作するときに、1つ1つ楽器を読み込んだり、FX(エフェクト)プラグインを読み込んだりすると、大体「定番」が決まってきたりします。

インストゥルメント(楽器)の設定+FXチェーン(プラグインのインサート)という組み合わせですね。

これをプリセットとして1トラックの設定として記憶する機能が「トラックプリセット」という機能です。 続きを読む

Cubaseのオートメーションのカクカクをできる限り滑らかにする方法

自分用メモです。
Cubaseのオートメーションのカクカクをできる限り滑らかにする方法。

Cubaseはデフォルト(最初の状態)ではオートメーションなどを鉛筆で書くと、間引きされてカクカクになっちゃいます。

これの解決方法です。


ということで解決方法を発見しました。

◆ 設定方法

1. Cubase上部メニューの「プロジェクト」>「オートメーションパネル」をクリックし、
オートメーションパネルを表示します。

2. オートメーションパネルの左下、「オートメーションの基本設定(Shift+F3)」の
ボタンをクリックし、オートメーションの設定画面を表示します。

3. オートメーションの設定画面にて「リダクションレベル」の値を現在設定されている値よりも
小さい値に変更します。

※値を大きくすると簡略化の度合いが強くなり、書き込んだオートメーションの曲線に沿って
オートメーションの情報が簡略化されます。値を小さくすると簡略化の度合いが 弱くなり
書き込んだオートメーションが忠実に再現されます。
(引用元:スタインバーグQ&A

 

これ、意外にずっと分からないままでいました。そしてたまに使うくらいなので忘れてしまいます。

ということで、ここにメモしておきます。
「プロジェクト」>「オートメーションパネル」の左下の設定で、リダクションレベルを設定します。

値を小さくするほどリダクションされない(間引かれない)ということですね。

最初は50%に設定されているので、5〜10%くらいにするとちょうどいいかな、と思います。
完璧にしたい場合は0%ですね。

※ちなみに0%にすると重くなってデータ量によってはCubaseが止まるくらいになるのでほどほどにしましょう…。

以上、簡易的なメモでした。