読者です 読者をやめる 読者になる 読者になる

<!--親の顔より見た光景-->

日々の発見を残していきます。

【OpenCV】動画の入力と情報の取得【Java】

Java opencv 動画処理

Java+OpenCVでの動画処理を詳しく解説しているサイトが見つけられなかったので、以下にまとめる。
今回は初歩の初歩である、動画の読み込みとその動画の情報を取得するまで。

ソースコード

package videoapp;
import org.opencv.core.Core;
import org.opencv.videoio.VideoCapture;
import org.opencv.videoio.Videoio;
public class VideoApp {
public static void main( String[] args ) {
System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
VideoCapture source_video = new VideoCapture( "test.mp4" ); // ファイル読み込み
double video_width = source_video.get( Videoio.CAP_PROP_FRAME_WIDTH ); // 横幅を取得
double video_height = source_video.get( Videoio.CAP_PROP_FRAME_HEIGHT ); // 縦幅を取得
double video_frame_count = source_video.get( Videoio.CAP_PROP_FRAME_COUNT ); // フレーム数を取得
double video_fps = source_video.get( Videoio.CAP_PROP_FPS ); // フレームレートを取得

System.out.println( "動画の横幅 : " + video_width );
System.out.println( "動画の縦幅 : " + video_height );
System.out.println( "動画のフレーム数 : " + video_frame_count );
System.out.println( "動画のフレームカウント : " + video_fps );
}
}

f:id:akagi13213:20170209231456p:plain

実行結果画面とファイルのプロパティを比較すると、正しく実行できている事がわかる(フレーム数は不明だが)。ちなみにgetメソッドで動画の長さは取得できなさそう。