1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CygwinでOpenCVを入れる

Last updated at Posted at 2020-08-28

C++で画像処理をするためにOpenCVを入れることにしました.
普段からCygwinを使用しているため,CygwinでOpenCVを入れようと思い色々なサイトで調べてみたのですが,Cygwinパッケージでインストールする方法がほとんど書かれていなかったので,備忘録もかねて書き残そうと思いました.

動作環境

Windows環境でOpenCV 3.4.1をインストールします.
(現在,OpenCV 4.4がありますが,Cygwinではサポートしていないようです)

Cygwinのインストール

CygwinはWindowsにUNIXライクな環境を構築できるものらしいです.自分はもともとC,C++を使うためのgccやg++を使うためだけに入れていました.最近はmakeとかも重宝してます.

cygwinそのもののインストール,またgcc,g++パッケージのインストールについては他のサイトで多く解説されているのでそちらを参考にしていただけたらと思います.

OpenCVパッケージのインストール

libopencv3.4というパッケージを選択し,インストールするバージョンを選択します("Skip"の場合はインストールされません).
cygwin_opencv.png

動作確認

パッケージを入れたら動作確認です.下のようなプログラムを実装し,コンパイルします.

opencv_test.cpp
#include <opencv2/opencv.hpp>

int main(int argc, char* argv[]) {
	// 画像データを入れるオブジェクト
	cv::Mat image(256, 256, CV_8UC3);

	// テキストを描画する
	cv::String text = "Hello, world";
	cv::Point org(0, 100);
	int fontFace	 = cv::FONT_HERSHEY_SIMPLEX;
	double fontScale = 1.0;
	cv::Scalar color(0, 255, 127);		  // Blue, Green, Red
	cv::putText(image, text, org, fontFace, fontScale, color);

	// 画像を出力する
	cv::String path = "hello-world.png";
	cv::imwrite(path, image);

	return 0;
}

コンパイルする際,ライブラリをリンクする必要があります.

g++ cv_test.cpp -lopencv_core -lopencv_imgproc -lopencv_imgcodecs

プログラムを実行し,以下のようなファイルが出力されたら成功です.
hello-world.png

OpenCV関連のライブラリは上の3つ以外にもたくさんあります.どのコマンドがどのライブラリに対応しているかいちいち確認するのも面倒なので,下のようにまとめてしまうのが良いと思います(makefileやCMakeを使ったほうがもっと楽だと思います).

g++ cv_test.cpp -I/usr/local/include -L/usr/local/lib -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_videoio

まとめ

CygwinでOpenCV 3.4.1をインストールする方法についてまとめました.OpenCVのインストールは結構苦労する印象でしたが,Cygwinのパッケージを使えば簡単にインストールできるんですね.

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?