OpenCVのための軽量GUIライブラリ『cvui』

OpenCVを使ったプログラムで各種入力パラメータをいじるのに便利そうなGUIライブラリを見つけた。
このcvuiは、ヘッダーファイルcvui.hのみの軽量なライブラリで、クロスプラットフォーム(Windows, OSX, Linux)にビルドできる。そして依存するライブラリはOpenCV(バージョン2.xまたは3.x)のみ!
MITライセンスなので、ライセンスと著作権を表示すれば商用利用も可能。

cvui

cvui

cvuiは、OpenCVの描画機能をベースとした(とても)シンプルなUIライブラリです。
imguiなど、他のUIライブラリでOpenCVアプリを開発する場合、OpenGLなどのバックエンドグラフィックス機能も別途有効にする必要がありますが、cvuiではそんな必要がありません。
cvuiはOpenCVの描画機能のみで全ての描画処理を行います。(別途OpenGLやQtはいりません)

アプリケーション開発というほど大げさじゃなく、ちょっとモジュールレベルで動作を試したいけど、cv::highguiだけでは微妙にやりづらい時って結構あるから便利そう。

ソースコードはGitHubにある↓
https://github.com/Dovyski/cvui


スポンサーリンク


というのは毎度お馴染みこのブログで知った情報ですが↓
https://www.learnopencv.com/cvui-gui-lib-built-on-top-of-opencv-drawing-primitives/


スポンサーリンク

cvuiの特長

  • 軽量・シンプルで使いやすいインターフェイス
  • 追加の依存ライブラリは必要ない(OpenCVのみに依存)
  • OpenCVの描画機能のみをベースとしている(OpenGLやQtなどは必要ない)
  • 馴染みやすくC言語ライクなAPI(クラスやオブジェクト、etc)
  • 各コンポーネントの位置を気にせず(rows/columnsを指定して)手軽に描画可能
  • MITライセンス

C言語ライクなのが良いことなのか意見が分かれそうだけど、習得コストが低いってことなんですかね。
imguiの使い方を勉強しようかと思ってたところだったけど、動作環境を構築して試すまでの手間を考えると、まずはcvuiの方が楽そうな感じ。

使い方のサンプルコードを見た感じだと、

cv::namedWindow(WINDOW_NAME);
cvui::init(WINDOW_NAME);

でウィンドウを定義し、cvui名前空間の関数を使ってcv::MatにGUI要素をどんどん突っ込んでいき、そのcv::Matを定義したウィンドウにcv::imshowで表示するだけだ。
何かUnityのOnGUI関数内に記述する行に似たテイストに感じる。


スポンサーリンク

関連記事

Kinect for Windows v2の日本価格決定
スクレイピング
Google App Engine上のWordPressでFlickrの画像を貼る
書籍『イラストで学ぶ ディープラーニング』
OpenCVの顔検出過程を可視化した動画
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
Unity ARKitプラグインサンプルのドキュメントを読む
Autodesk Mementoでゴジラを3次元復元する
PythonでMayaのShapeノードプラグインを作る
Unityの薄い本
Model View Controller
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
Amazon EC2ログイン用の秘密鍵を無くした場合の対処方法
WordPressのテーマを自作する
iPhoneで3D写真が撮れるアプリ『seene』
Javaで作られたオープンソースの3DCGレンダラ『Sunflow』
Photogrammetry (写真測量法)
html5のcanvasの可能性
Blender 2.8がついに正式リリース!
Structure from Motion (多視点画像からの3次元形状復元)
JavaScriptとかWebGLとかCanvasとか
インタラクティブにComputer Visionコーディングができるツール『Live CV』
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』
3D復元技術の情報リンク集
プログラミングスキルとは?
U-Net:ディープラーニングによるSemantic Segmentation手法
C#で使える機械学習ライブラリ『Accord.NET Framework』
今年もSSII
Google製オープンソース機械学習ライブラリ『TensorFlow』のWindows版が公開された
RSSフィードを読込んで表示するWordpressプラグイン『RSSImport』
オープンソースの3Dメッシュデータライブラリ『OpenMesh』
Active Appearance Models(AAM)
ROSの薄い本
「ベンジャミン·バトン数奇な人生」でどうやってCGの顔を作ったのか
機械学習について最近知った情報
自前のShaderがおかしい件
iOSで使えるJetpac社の物体認識SDK『DeepBelief』
PythonのStructure from Motionライブラリ『OpenSfM』
OpenCVのバージョン3が正式リリースされたぞ
第1回 3D勉強会@関東『SLAMチュートリアル大会』
CGAN (Conditional GAN):条件付き敵対的生成ネットワーク
Web経由でRaspberry PiのGPIOを操作したい

コメント

  1. […] OpenCVのための軽量GUIライブラリ『cvui』 […]