2018/07/29
Ubuntu18.04にOpenCV実行環境を作る(1)
Windows10を卒業し、Ubuntuに切り替えて2ヶ月経ちました。何不自由なく、いや、Windows10よりも快適にPCが利用できるようになり、もう戻れない状態です(会社ではWindowsなので仕方ないですが・・)。さて、OpenCVをたまに使いたい時がありますが、そういえばUbuntuに切り替えた後、インストールしていなかったなと気付き、早速行動です。
インストールを行う上で、condaパッケージを更新しますとアナウンスが出るのですが、エラーが発生することが判明し、結局、Anacondaの再インストールからスタートしました。ネットでこのエラー原因を調べていると、pythonのパッケージをインストールする際に、condaとpipを混同して利用していると痛い目に遭うとの記事を見かけ、もしかするとこれかなと思い当たる所がありました。基本的にはAnacondaを入れている環境ではcondaコマンドをメインで使い、pipは極力避けることとの情報がありました。真偽はともかく、今後要注意です。
OpenCVは今までC++、C#(OpenCvSharp)をメインで使っていましたが、最近、Pythonの方がインストールも手軽で(CMakeを使わなくて)良いなと思っているので、楽な方を選択しました。インストール手順は以下の通りです。
1.Anacondaの再インストール
~$ sudo ./Anaconda3-5.2.0-Linux-x86_64.sh2.OpenCVの専用環境作成
~$ anaconda-navigatoranaconda-navigatorを起動して、opencvの環境を作成します。3.opencv環境へ入る
~$ source activate opencv4.OpenCVのインストール
(opencv) ~$ conda install -c menpo opencv簡単にインストールできました。昔々からごく最近まで、Cmakeで痛い目に遭っていたのが嘘のようです。
無事にインストールできたか、動作確認です。
以下のコードをVS code上で実行させましたが・・。
#-*- coding:utf-8 -*-動きません。以下のエラーから画面表示の問題のようです。ファイル出力は正常に動作します。そういえば、以前、jupyter notebookでOpenCVを動かした時にmatplotlibで表示したことを思い出しました。最近触っていなかったのですぐに忘れてしまいますね・・。
import cv2
def main():
img = cv2.imread("flower.png")
window_name="Raw Image"
cv2.imshow(window_name, img)
cv2.waitKey(3000)
if __name__ == "__main__":
main()
気を取り直して、再実行です。
#-*- coding:utf-8 -*-今度はうまく行きました。 7行目はBGR(opencv用)からRGB(matplotlib用)への変換、8、9行目はmatplotlibの画面に表示される目盛を消すおまじないです。消さないとこんな感じになります。 この続きとして、GUIにボタンやピクチャボックスを実装して、.NET Frameworkのように使ってみたいという欲が出てきます。そのTkinterを使った実装は次回お話します。
import cv2
from matplotlib import pyplot as plt
def main():
img = cv2.imread("flower.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False) #scale value delete
plt.tick_params(color='white') #scale delete
plt.imshow(img)
plt.show()
if __name__ == "__main__":
main()