概要
(追記、2018年11月に書き直しました)
みなさんこんにちはcandleです。インストールできたopencvを使ってhelloworldを行いましょう。
opencvでhelloworldとはなんぞや、と感じるかもしれませんが、opencvライブラリを使って、画像を表示させようというのが目的です。
前提
- opencvがインストールされている
ソースを用意する
まずはデスクトップにhelloworld.cppファイルを作りましょう。
ターミナルでデスクトップに移動して
touch helloworld.cpp
で作成できます。
エディタでhelloworld.cppファイルを開きます。エディタはなんでもかまいません。
私はemacsを使用します。
emacs helloworld.cpp
次のソースをコピペします。
#include <opencv2/opencv.hpp> int main(void){ cv::Mat img; img = cv::imread("./gear.jpg", 1); cv::namedWindow("Image"); cv::imshow("Image", img); cv::waitKey(0); return 0; }
ちなみに、gear.jpgファイルを読み込むのですがその画像は下の画像を使用します。
デスクトップに置いてください。
コンパイルする
helloworld.cppをコンパイルします。g++のコンパイルを使います。
g++ -o helloworld helloworld.cpp `pkg-config --cflags opencv` `pkg-config --libs opencv`
helloworldを実行する
完成したC++の実行ファイルはいくつか実行方法があります。
一番簡単なのはFinderを開き、実行ファイルをダブルクリックで実行することです。
しかし、私の場合実行ファイルをクリックするとエラーで消えてしまいました。
一方で、右クリックして、iTerm2で開くと、うまく実行することができました。
もちろん、ターミナルからコマンドで直接実行できます。
ターミナルでhelloworldがあるフォルダに移動して
./helloworld
で実行できます。
Imageというタイトルがついたウィンドが開きました。
helloworld成功です。
まとめ
opencvで画像を読み込むこれがopencvのhelloworldと言ってもよいのではないでしょうか。
実行ファイルが直接実行できないのは気がかりでしたが、まあいまのところは別に良いや。