0. Lilyの準備と設定 1. Lilyをはじめよう(導入編) 2. LilyのGUI 3. Lilyの便利なツール 4. Lilyで画像処理 (画像の基礎) 5. Lilyで画像処理 (動画処理の基礎) 6. Lilyで画像処理 (応用) 7. Lilyで画像処理 (OpenCV) 8. Lilyで3D(FKとの連携) ...
0. Lilyの準備と設定 1. Lilyをはじめよう(導入編) 2. LilyのGUI 3. Lilyの便利なツール 4. Lilyで画像処理 (画像の基礎) 5. Lilyで画像処理 (動画処理の基礎) 6. Lilyで画像処理 (応用) 7. Lilyで画像処理 (OpenCV) 8. Lilyで3D(FKとの連携) ...
Lilyって? 「Lily C++ GUI Library」(Lily)は、Windows向けアプリケーション開発のためのC++ GUI&2D画像処理ライブラリです。 東京工科大学メディア学部 イメージメディアプロジェクトの研究サポートのためにライブラリの整備をはじめました。 C++で作るのが困難な各種のユーザインタフェースを簡単に作ることができます。 また、拡張ツールを追加することでムービーやカメラ画像を取り込んだ動画像処理も可能です。 画像処理研究で良く使われるOpenCVと...
1. サンプルプロジェクト「KW_Skeleton」の入手 AEプラグイン開発の説明をするにあたって、サンプルプロジェクトを作成しました。 まず基本的な構造を知るために、このコードを利用し、理解を深めていきます。 After Effects プラグイン サンプルコードKW_Skeleton.zip KW_Skeletonに関する扱いは同梱のreadme.txtをお読みください。 基本的に改変自由・配布自由ということにしています。いちおう使っ...
プロジェクトファイルの管理について 前回のセッティングでAfter Effects プラグインの開発の準備はできました。 しかし、これから各自が自由にプラグインを作成するとなると、サンプルコードのようなプロジェクトファイルを作成しなければなりません。 Visual StudioおよびXCodeのプロジェクトは、一般的に任意の場所においても動作するよう作られていますが、AE SDKは置き場所を変えると、 プロジェクトの設定がかなり面倒になります。ではどのように作ればよいのでしょうか。 ...
After Effectsプラグインの開発にあたって 2007年秋でしたか、ひょんなことからアニメ業界向けにAfter Effectsプラグイン開発を始めました。 C++での開発経験はあったものの、プラグインというものを作るのは初めてで、だいぶ混乱しました。 結局、自分の作りたいものをつくる環境整備に1カ月かかりました(某社の方は3日でマスターしてましたが(苦笑))。 時間がかかった原因は、日本においての情報量の少なさ(書籍・web)も一因でした。 そこ3年越しですが同じくプラグインを作る人に...
LLImageTranslatorによる画像データの相互変換 OpenCVとLilyを併用すると、LLImageTranslatorクラスを利用可能になります。 このクラスを使うことでOpenCVのIplImageとLilyのLLImage間で画像をコピーしあえます。 tips7_002 - cvImageTranslator\main.cpp // ※OpenCVの必要なヘッダを先にインクルード // OpenCV2.2以降 #include <opencv2/...
OpenCV with Lilyの利用 LilyはOpenCVと併せて利用することが可能です。 以下にOpenCVのインストールの方法を示しますので、参考にしてください。 拡張ライブラリの利用手順 1. OpenCVのインストール OpenCVをダウンロードし、Cドライブの直下にインストールします。 このとき、Program Filesなどファイルの編集ができない場所にインストールしてしまうと、OpenCVがビルドできず利用できません。 Cドラ...
動画ファイルの再生フレーム位置を指定 LLMMVideoで再生中のフレーム位置を設定します。 tips5_005\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> #include <LLMM/LLMM.h> // LilyExtensions::動画像処理ヘッダ #include <iostream> // GUIの定義 LLExWindow ...
2台のwebカメラの認識 LLMMCameraを2つ用意して2代のwebカメラを同時に認識します。 tips5_004\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> #include <LLMM/LLMM.h> // LilyExtensions::動画像処理ヘッダ // GUIの定義 LLExWindow *window; // ウィンド...
webカメラの認識 LLMMCameraでwebカメラを認識し、静止画データをキャプチャします。 tips5_003\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> #include <LLMM/LLMM.h> // LilyExtensions::動画像処理ヘッダ // GUIの定義 LLExWindow *window; // ウィンドウ...
ムービーファイルの読み込み LLMMVideoを用いてムービーファイルを読み込み、LLImageにフレームを切り出していきます。 tips5_002\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> #include <LLMM/LLMM.h> // LilyExtensions::動画像処理ヘッダ #include <iostream> // GUIの定義 L...
Lily Extensions(拡張ライブラリ)の設定 Lilyは拡張ライブラリを追加することで動画やカメラ画像の処理が可能になります。 以下に拡張ライブラリの追加の手順を説明します。ここではVisual Studio2008を用いて説明します。 拡張ライブラリの利用手順 1. Windows SDKのインストール 拡張ライブラリを使うためにWindows SDKをインストールします。 Windows SDKは動画処理を行うDirectShowを利用する...
ポインタを用いたピクセル処理 LLImageのピクセル処理は基本的にピクセルの取得・設定で説明した方法になりますが、 データのポインタから直接操作することでピクセルを処理することもできます。 tips4_009\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector...
画像データのピクセル数の変更(リサイズ) LLImageはnewや画像読み込みで指定したピクセル数は基本的に固定です。画像データのピクセル数を変更したい場合resize()を使います。 tips4_008\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector *ev...
画像データの塗りつぶし LLImageの画像データをすべて1色に塗りつぶします。 tips4_007\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector *evc; // ウィンドウ用イベントコネクタ LLBoard ...
画像データのコピー LLImageの画像データを別のLLImageにコピーします。 tips4_006\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector *evc; // ウィンドウ用イベントコネクタ LLBoard ...
ピクセルデータの取得と設定 LLImageの各ピクセルのデータの取得と、新たな値の設定を行います。 これらを用いて「ネガポジ反転」の画像処理プログラムをつくります。 tips4_005\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector *evc; ...
画像データの横幅と高さの取得 LLImageにある画像データの横幅と高さを取得します。 tips4_004\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> #include <iostream> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector *evc; // ウィンドウ用...
画像ファイルの保存 LLImageの画像データをファイルに保存します。 tips4_003\main.cpp // Lilyを利用するヘッダ #include <Lily/Lily.h> // GUIの定義 LLExWindow *window; // ウィンドウ LLEventConnector *evc; // ウィンドウ用イベントコネクタ LLBoard *boar...