トップ 一覧 Farm 検索 ヘルプ RSS ログイン

Diary/2016-4-10の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!OpenCV+Java+カメラ
ノートPCについているカメラを
Windows 10上にインストールしたJava+OpenCVで使ってみる.

::準備
OpenCVは, http://opencv.org/ から3.1をダウンロード.
%homepath%\Applications\opencv にインストール,というか展開.

::コード
http://cell0907.blogspot.jp/2013/06/creating-windows-and-capturing-webcam.html
https://www.ht.sfc.keio.ac.jp/~takuro/blog/files/2acd4a51f9e2b63d4f9ab4aa3f1ce785-10.html
のサンプルを使わせてもらいました.

ただし,highguiパッケージとかはなくなっているので,
importするパッケージを,
 import org.opencv.core.Core;
 import org.opencv.core.CvType;
 import org.opencv.core.Mat;
 import org.opencv.core.Scalar;
 import org.opencv.core.Size;
 import org.opencv.imgcodecs.Imgcodecs;
 import org.opencv.imgproc.Imgproc;
 import org.opencv.videoio.VideoCapture;
 import org.opencv.videoio.Videoio;
に変更.

また,Windowsでは,ウィンドウを閉じたりCtrl-Cで終了しても
タスクが残ってしまったので,
 Thread shutdown = new Thread(){
   public void run(){
     if(capture != null){
       capture.release();
     }
   }
 };
 Runtime.getRuntime().addShutdownHook(shutdown);
を追加.

さらに,サンプルでは取得した画像をOpenCVの関数を使って
縮小していたのを
 capture.set(Videoio.CV_CAP_PROP_FRAME_WIDTH, sizeX);
 capture.set(Videoio.CV_CAP_PROP_FRAME_HEIGHT, sizeY);
と,プロパティを使うことで取得時に変更するように.
sizeXとsizeYは,それぞれ320,240をデフォルトにして
引数で指定できるようにしてみた.

{{ref CameraTest.java}}

::コンパイルと実行
コンパイルはコマンドプロンプトで
 javac -cp %homepath%\Applications\opencv\build\java\opencv-310.jar;. ^
 CameraTest.java
実行は
 java -cp %homepath%\Applications\opencv\build\java\opencv-310.jar;. ^
 CameraTest
表示できればOK.