OpenCV とは?
* Open Source Computer Vision Library * BSDライセンス(商用利用可能) * 画像・動画を処理するのに必要な様々な機能を提供
主な機能
* フィルター処理 * オブジェクト追跡(Object Tracking) * 領域分割(Segmentation) * カメラキャリブレーション(Calibration) * 特徴点抽出 * 物体認識(Object recognition) * 機械学習(Machine learning) * パノラマ合成(Stitching) * コンピュテーショナルフォトグラフィ(Computational Photography) * GUI(ウィンドウ表示、画像ファイル、動画ファイルの入出力、カメラキャプチャ)
サポートOS
* Windows * Linux * Mac OS * iOS * Android
サポート言語
* C(ただし、3.0からメンテナンス対象外) * C++ * Python * Java
公式サイト
http://opencv.org/* Download
http://opencv.org/downloads.html
設定
環境
* OS : Windows10 * Eclipse : Mars.2 Release (4.5.2) * OpenCV : Version3.1.0
手順
[1] 以下のURLから、OpenCV(今回は「opencv-3.1.0.exe」)をダウンロードするhttp://opencv.org/downloads.html
[2] ダウンロードしたファイル「opencv-3.1.0.exe」をダブルクリックし、 任意の場所(今回は「C:\work\」)を指定する [3] 環境変数 Path にOpenCVのdllファイルのパス(「今回はC:\work\opencv\build\java\x64」)を指定する [4] Eclipseを立ち上げて、JARファイル(「今回はC:\work\opencv\build\java\opencv-310.jar」)を Importする
サンプル
* 使用する画像

グレースケール変換(Hello World的に)
import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; public class HelloWorld { public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); String input = "C:/temp/lena_lg.jpg"; String output = "C:/temp/result.jpg"; Mat matrixSrc = new Mat(); Mat matrixDst = new Mat(); // 入力画像の読み込み matrixSrc = Imgcodecs.imread(input); // カラー画像をグレー画像に変換 Imgproc.cvtColor(matrixSrc, matrixDst, Imgproc.COLOR_BGR2GRAY); Imgcodecs.imwrite(output, matrixDst); System.out.println("Done!"); } }
参考文献
* OpenCV入門【3.0対応】http://www.buildinsider.net/small/opencv/001
* OpenCVで学ぶ画像認識
http://gihyo.jp/dev/feature/01/opencv
* Java版OpenCV入門
http://opencv.blog.jp/java/%E4%BD%BF%E3%81%84%E6%96%B9
* EclipseでJava用のOpenCVを使う(for windows)
http://qiita.com/livlea/items/a853c374d6d91b33f5fe
* OpenCV 3.1 eclipse
http://pg-fan.com/?p=549