仮想計算機構

IT業界と無縁な派遣社員のブログ

【日記】PythonでOpenCVが使える環境を構築した。

筆者の環境

画像処理とかをやりたいので環境構築。
以下のobikata氏による手順を踏みました。

まずは Git をインストール

今回は Git for Windows v2.27.0 を以下からインストールします。
Git for Windows

Anaconda3 のインストール

Individual Edition | Anaconda

Pythonの環境を作成するところでつまづく。

PS C:\Users\user> conda create -n opencv342 python=3.6
Collecting package metadata (current_repodata.json): failed
...

anacondaでconda createを実行しようとすると「 Solving environment: failed 」と出て実行できなかった - Qiita
↑のサイトによるとパスを追加すると解決するらしい。
Windows環境変数を以下のように設定。
f:id:riverta1992:20200626083121p:plain
これで大丈夫だと思うのでもう一度Pythonの環境を作成。

PS C:\Users\user> conda create -n opencv342 python=3.6
Collecting package metadata (current_repodata.json): done
...

成功!

作成した環境を使ってみる。

PS C:\Users\user> activate opencv342
activate : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\user\anaconda3\Scripts\activate.ps1 を読み込むことができませ  
ん。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ activate opencv342
    + FullyQualifiedErrorId : UnauthorizedAccess

権限の関係でエラーが出ている模様。
実行ポリシー*1を変更してみる。

PS C:\Users\user> Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy : レジストリ キー 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' へのアクセスが拒否されま  
した。 既定 (LocalMachine) のスコープの実行ポリシーを変更するには、[管理者として実行] オプションを使用して Windows PowerShell を起動してください。 
現在のユーザーの実行ポリシーを変更するには、"Set-ExecutionPolicy -Scope CurrentUser" を実行してください。
発生場所 行:1 文字:1
+ Set-ExecutionPolicy RemoteSigned
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

またダメでした。Powershell自体を管理者として開かないといけない模様。
管理者としてPowershellを起動。*2

PS C:\Users\user> Start-Process powershell.exe -Verb runas

別ウィンドウでPowershellが開くので以下のように進める。

PS C:\Users\user\Desktop\MyProgram\Python>  Set-ExecutionPolicy RemoteSigned

実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policies
のヘルプ トピック (https://go.microsoft.com/fwlink/?LinkID=135170)
で説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "N"): Y

権限を変更できたっぽいので、作成したPython環境を起動。

PS C:\Users\user\Desktop\MyProgram\Python> activate opencv342

Activating environment "opencv342..."


[opencv342] PS C:\Users\user\Desktop\MyProgram\Python>

activate できた。

そのほかにやったこと

openvcv342 では import cv2 が失敗するが、opencv400 だとうまくいった。
理由は不明。とりあえず opencv400 の方で OpenCV を使っていきたい。

追記(2020/06/28)
opencv400 にインストールしたOpenCVが使えなくなっている。一方でopencv342の方ではOpenCVやmatplotlibを使えるようになった。Anacondaわかんないです。。。