OpenCVは、複数の言語向けバインディングを備えた、画像処理とコンピュータビジョンのアルゴリズムを提供するオープンソースのC++ライブラリです。
bytedeco/javacv
OpenCV、FFmpegなどのコンピュータビジョン・マルチメディアライブラリ向けJavaラッパーとヘルパークラス。
- スター
- 8,350
- フォーク
- 1,615
- 未解決の Issue
- 466
- 最終コミット
- 2 か月前
これは何?
JavaCVを使うと、Java開発者はOpenCVやFFmpegなど、広く使われているコンピュータビジョン・マルチメディアライブラリを利用できます。ラッパーはJavaCPP Presetsをベースに構築されており、クラス定義は元のC/C++ヘッダーに忠実に沿っているため、ネイティブコードと同じような形でOpenCVやFFmpegのAPIを呼び出せます。
低レベルのバインディングに加えて、JavaCVはよくある処理向けのヘルパークラスも提供します。ハードウェアアクセラレーションを利用した画像表示(CanvasFrame、GLCanvasFrame)、FrameGrabberによるカメラや動画ファイルからのフレーム取得、FrameRecorderによる動画書き込み、カメラとプロジェクターのキャリブレーション、特徴点マッチング、ブロブ解析などに対応しています。また、フレームとJava 2D、Androidのビットマップ、OpenCVのMatオブジェクトを相互に接続するコンバーターも備えています。
依存関係はjavacv-platformとしてMaven Centralから配布されており、Linux、macOS、Windows、Android向けのネイティブバイナリが同梱されています。一部のクラスでは、OpenCLおよびOpenGLの各種バリアントも利用できます。
主な機能
- 01C/C++のAPIを踏襲した、OpenCVおよびFFmpeg向けJavaバインディング。
- 02FrameGrabberの実装を通じた、カメラや動画ファイルからのキャプチャ。
- 03FrameRecorderによる動画のエンコードと出力。
- 04CanvasFrameおよびGLCanvasFrameによる、ハードウェアアクセラレーション対応の画像表示。
- 05カメラとプロジェクターのキャリブレーション、特徴点マッチング、ブロブ解析のヘルパー。
- 06Androidを含む複数プラットフォーム向けのネイティブバイナリを、MavenおよびGradle経由で配布。
ユースケース
- JavaまたはKotlinで画像処理・コンピュータビジョンアプリケーションを構築する。
- Webカメラや動画ストリームからフレームを取得し、リアルタイムで処理する。
- Javaバックエンドで動画ファイルをトランスコードまたは録画する。
- JVMベースのアプリケーションに顔検出や輪郭解析を追加する。
クイックスタート
- 1
Java SE 8以降のJDKをインストールします
- 2
バージョン1.5.14を指定して、pom.xml(Maven)またはbuild.gradle(Gradle)にjavacv-platform依存関係を追加します
使う前に知っておきたいこと
- プロジェクトのライセンスはメタデータで明確に示されていません(NOASSERTION)。使用前にライセンスを確認してください。
- javacv-platform依存関係はすべてのプラットフォーム向けのネイティブバイナリをダウンロードするため、javacpp.platformプロパティを設定しない場合はサイズが大きくなります。
- 32ビットと64ビットのモジュールは混在できないため、すべてのコンポーネントでビット数を統一する必要があります。
トピック
よくある質問
- javacv とは?
- OpenCV、FFmpegなどのコンピュータビジョン・マルチメディアライブラリ向けJavaラッパーとヘルパークラス。 JavaCVを使うと、Java開発者はOpenCVやFFmpegなど、広く使われているコンピュータビジョン・マルチメディアライブラリを利用できます。ラッパーはJavaCPP Presetsをベースに構築されており、クラス定義は元のC/C++ヘッダーに忠実に沿っているため、ネイティブコードと同じような形でOpenCVやFFmpegのAPIを呼び出せます。
- javacv は無料で使えますか?ライセンスは?
- javacv は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- javacv は今もメンテナンスされていますか?
- 半年以内に更新あり。javacv の最終コミットは 2026年8月12日 です。
- javacv は何に使えますか?
- JavaまたはKotlinで画像処理・コンピュータビジョンアプリケーションを構築する。 Webカメラや動画ストリームからフレームを取得し、リアルタイムで処理する。 Javaバックエンドで動画ファイルをトランスコードまたは録画する。 JVMベースのアプリケーションに顔検出や輪郭解析を追加する。
- javacv のインストール方法は?
- Java SE 8以降のJDKをインストールします バージョン1.5.14を指定して、pom.xml(Maven)またはbuild.gradle(Gradle)にjavacv-platform依存関係を追加します
- javacv はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/bytedeco/javacv
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
ホワイトボード風の画像を、ナレーションに合わせたCPUレンダリングの手描き風MP4に変換するCLIツール兼Pythonライブラリ。
画像からテキストを抽出するオープンソースのOCRエンジン(libtesseract)とコマンドラインツール。LSTMベースの認識に対応し、100以上の言語を扱えます。
ストリーム入力、モデル推論、追跡、出力をプラグイン可能なノードでつなぐC++動画解析フレームワーク。
Claudeがコードを書いて制作した10秒のモーションデザイン映像15本。各スタイルのプロンプトと完全なソースコードを公開。
再エンコードせずに動画・音声ファイルをロスレスでカット、トリミング、リマックスできるクロスプラットフォーム対応のFFmpeg GUI。