画像処理ソリューション
これを見れば画像処理の入門から基礎~応用まで全てがわかるのを目指して!
   
翻訳(Translate)

プロフィール

Akira

ニックネーム:Akira
東京都の町田事業所に勤務
画像処理ソフトの開発を行っています。リンクフリーです!
詳細プロフィールは こちら
お問い合わせは、こちら↓

【補助HP】
画像処理ソリューションWeb版 【Newブログ】
イメージングソリューション

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

09 | 2010/10 | 11
S M T W T F S
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -

趣味のブログ

iPhone萬歳!
iPhoneの情報いろいろ。
ブログ学習帳
ブログ、SEO、アフィリエイト情報など(まだまだこれから)
俺流クラフト日記
ハンドメイド作品の記録(現在、放置中)

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【特集】画像処理システム入門『インターフェース12月号』

インターフェース12月号は私の会社の業界、ど真ん中の特集「しくみから顔認識まで、画像処理システム入門」
という内容です。

Interface (インターフェース) 2010年 12月号 [雑誌]

CQ出版 (2010-10-25)
おすすめ度の平均: 5.0
5 勉強になる


●画像処理機器のしくみを理解する
●三次元計測のしくみを知る
●HALCONを使って画像認識を理解する
●OpenCVによる画像処理の基本操作をマスター
●特徴点を検出するアルゴリズムをFPGAで実行する
ほか。

画像処理システムについては、当たり前と言えば当たり前ですが、筆者よりのシステム紹介になっていますので、私のブログページ
 光学部品/カメラバイヤーズガイド
も参考にしてみて下さい。(これも筆者(私)よりですが...)

OpenCVについてはLinixでのインストールから使用方法について書いてありますので、Linuxユーザにはいいかもしれません。OpenCV処理の部分はただのC言語ですので、当然、Windowsユーザでも参考になると思います。

あまり詳しく書くと、ネタばれになってしまうので、詳細はこちら↓のページでご確認下さい。
http://www.kumikomi.net/interface/contents/201012.php


Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【C++/CLI】.NETクラスライブラリの作成、使用方法

メインページC++/CLI プログラミング

一言でライブラリと言っても、従来のC言語で作成されたライブラリと.NET環境(VB.NET、C#、C++/CLI)で作成されたライブラリとがあります。
どちらもファイル形式は*.dllなので、見分けが付きにくいのですが、.NETで作られたライブラリでは.NETのどの言語(VB.NET、C#、C++/CLI)からも使う事ができ、使い方も簡単です。
(C++/CLIで作成したライブラリは引数にポインタなどを用いると互換が取れない場合があります。)

.NETクラスライブラリの作成方法

ファイル→新規作成→プロジェクトで Visual C++→CLRクラスライブラリを選択しプロジェクト名を記入しOKボタンをクリックします。
.NETクラスライブラリの作成方法、使用方法

すると、以下のようにcppファイルhファイルが作成されます。

【DotNetClassLibrary.cpp】ファイル
// これは メイン DLL ファイルです。

#include "stdafx.h"

#include "DotNetClassLibrary.h"

【DotNetClassLibrary.h】ファイル
// DotNetClassLibrary.h

#pragma once

using namespace System;

namespace DotNetClassLibrary {

    public ref class Class1
    {
        // TODO: このクラスの、ユーザーのメソッドをここに追加してください。
    };
}

Class1というクラス名はあまりにも...なので、クラス名を Calc に変更し、簡単な足し算のメソッドを追加したものが、以下の通りとなります。

【DotNetClassLibrary.cpp】ファイル
// これは メイン DLL ファイルです。

#include "stdafx.h"

#include "DotNetClassLibrary.h"


using namespace DotNetClassLibrary;

double Calc::Add(double a, double b)
{
    return (a + b);
}


【DotNetClassLibrary.h】ファイル
// DotNetClassLibrary.h

#pragma once

using namespace System;

namespace DotNetClassLibrary {

    public ref class Calc
    {
        // TODO: このクラスの、ユーザーのメソッドをここに追加してください。
        public:
                double Add(double a, double b);
    };
}

これでプロジェクトをビルドすると、DotNetCladdLibrary.dllというファイルが作成され、DotNetCladdLibrary::CalcクラスAddメソッドをメンバにもつクラスが作成されます。

これで、.NETクラスライブラリの作成は完了です。

.NETクラスライブラリの使用方法(ライブラリをデバッグする場合)

まずは、ライブラリを評価するための簡単なプロジェクトを現在のソリューション(*.sln)に追加作成します。

今回は評価用のプログラムなので ファイル→追加→新しいプロジェクトで Visual C++→CLRクWindowsフォームアプリケーションを選択しプロジェクト名を記入しOKボタンをクリックします。
(今回はTestSampleという名前のプロジェクトを作成しました。)
.NETクラスライブラリの作成方法、使用方法

作成した評価用のプロジェクトから、.NETクラスライブラリをデバッグできるようにするためには、.NETクラスライブラリのプロジェクトを参照設定する必要があります。

参照設定方法は、プロジェクト名右クリック→参照 とクリックします。
.NETクラスライブラリの作成方法、使用方法

すると以下のようなウィンドウが表示されるので、『新しい参照の追加』ボタンをクリックします。
.NETクラスライブラリの作成方法、使用方法
表示されたウィンドウの『プロジェクト』のタブを選択し、参照するプロジェクトを選択OKボタンをクリックします。
.NETクラスライブラリの作成方法、使用方法
これで、作成したDotNetClassLibraryという.NETクラスライブラリを使用する準備ができました。
.NETクラスライブラリの作成方法、使用方法

次に、評価用のプロジェクトと.NETクラスライブラリのプロジェクトをデバッグするには、評価用のプロジェクトから起動し、.NETクラスライブラリを参照するような順番で起動して欲しいので、最初に起動するプロジェクトの設定を行います。

最初に起動するプロジェクトの設定方法は、プロジェクト名右クリック→スタートアッププロジェクトに設定クリックで設定ができます。

.NETクラスライブラリの作成方法、使用方法

実際に作成したAddメソッドの使用例は以下の通りです。

DotNetClassLibrary::Calc^ func = gcnew DotNetClassLibrary::Calc();

double x = func->Add(36.0, 24.0);

これで、デバッグ実行が可能となります。

ただ、今回作成したメソッドのように、ただ、足し算をするだけなのに、いちいちgcnewをするのは面倒だと思ったりしますよね?
そんな時には、.NETクラスライブラリのメソッド定義部分(ヘッダファイル(*.h))の先頭にstaticを付ける事でgcnewする事なく直接メソッドを呼び出す事が可能となります。

【DotNetClassLibrary.h】ファイル
// DotNetClassLibrary.h

#pragma once

using namespace System;

namespace DotNetClassLibrary {

    public ref class Calc
    {
        // TODO: このクラスの、ユーザーのメソッドをここに追加してください。
        public:
       
        static double Add(double a, double b);
    };
}

staticを付けた場合のAddメソッドの使用例は以下の通りです。

double x = DotNetClassLibrary::Calc::Add(36.0, 24.0);

.NETクラスライブラリの使用方法(ライブラリを使うだけの場合)

ライブラリをデバッグする時は、プロジェクト名右クリック→参照 とクリックし『プロジェクト』のタブを選択しましたが、今回は『参照』のタブを選択します。

次に作成した.NETクラスライブラリのファイルの場所を選択し、.NETクラスライブラリファイルを選択しOKボタンをクリックします。
.NETクラスライブラリの作成方法、使用方法
.NETのライブラリの場合は、ただ、この設定だけでライブラリを使用する事が可能となります。
(*.libや*.hファイルは必要ありません。)

本当は、次に作成したライブラリをC:\Windows\assemblyへインストールして・・・、マニフェストが・・・という話もあるかと思いますが、あまり分かっていないので、今回はここまでで...


Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

Windows7でメニュー表示中画面をキャプチャするフリーソフト『PriScVista』

メインページ

ブログの記事を書くのにWindows7でウィンドウのメニューを表示中の画面をキャプチャしたくて、いろいろ試してみたのですが、Alt+PrintScreenボタンを押すと、メニューが消えちゃうし、WindowsVistaの時はPrintScreenを押すとデスクトップ画面をコピーすることができたのですが、Windows7では?デュアルディスプレー環境では?かどうか分からないのですが、デスクトップ全体の画像をコピーできない!?

ということで、画面キャプチャソフトのPriScVistaというソフトを使ってみました。
名前にVistaという文字が入っていますが、Windows7でも動作してくれました。

これが、なかなか良くて、こんな↓メニュー付きでウィンドウの影やアイコンまで付けてコピーする事ができます。
(影、アイコンなし設定も可)
Windows7でメニュー付きウィンドウをキャプチャする
ただ、上図のようなメニュー表示中の画面をキャプチャするには、ちょっとコツが必要だったので、メモっておきます。

【ソフトの入手、実行】

①まずはソフトをPriScVistaよりダウンロードする。

②ダウンロードしたファイルを解凍し、『PriScVista.exe』ファイルをダブルクリックし、PriScVistaを実行する。
  (プログラムは常駐ソフトとして実行されます。)

【メニュー表示中のキャプチャ手順】
①表示したいメニューの状態を表示しておく

Shift+PrintScreenボタンを押す

Shiftボタン、PrintScreenボタンを離す

④Shiftボタンを押しながらメニューの一番上(親)から順に左クリックする
 上図では『ファイル』→『追加』→『新しいプロジェクト』 の順で左クリック

⑤Shiftボタンを離す

⑥一番下(子)のメニュー(上図の例では『新しいプロジェクト』)を左クリックする。


このShiftボタンを離すタイミングがちょっと分かりづらかった...


Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【OpenCV】実写(写真)をアニメ風にするフィルタ処理

メインページOpenCV

Twitterのアイコンを作るのに、顔写真のまんまだと、ちょっと抵抗があったので、cartoon filter などと言われる実写の画像をアニメ風に変換する処理をOpenCVで作成して、こいつをTwitterのアイコンにしてみました。

といっても、かなり参考にしたのはOpenCV.jpにあるcvAdaptiveThreshold関数のサンプル
これだと輪郭は雰囲気は出ていますが、色がグラデーションがかっているので、cvPyrSegmentation関数を使って減色処理を追加しました。

結果、こんな感じまでできました。

OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換
処理前 処理後

処理の概要は以下の通り

適応的二値化処理(cvAdaptiveThreshold関数)を使って、指定した範囲内を平均した輝度値よりも指定したしきい値以下となる部分を二値化(今回はその部分を黒にする)して、画像の輪郭を作成します。

【処理前】
OpenCVで実写(写真)をアニメ風に変換

【処理後】
OpenCVで実写(写真)をアニメ風に変換

この部分はOpenCV.jpの処理とほぼ同じ処理を行いましたが、ノイズが多かったので、メディアンフィルタを追加しました。

次に画像ピラミッドを使った画像の分割処理(cvPyrSegmentation関数)を使って、色の減色を行いました。
やっぱりこの部分もOpenCV.jpをかなり参考にしました。

【処理後】
OpenCVで実写(写真)をアニメ風に変換

ただ、この処理に決めるまでに、cvPyrMeanShiftFiltering関数cvSmooth関数のバイラテラルフィルタなども試そうとしたのですが、なぜかエラーが出て、結局、cvPyrSegmentation関数しか使えなかった、という事でこの処理にしました。

あとはcvAndで2つの画像を足し合わせる(ANDをとる)だけ。

【処理後】
OpenCVで実写(写真)をアニメ風に変換

この処理を下記のように関数にまとめてみました。
//---------------------------------------------------------------
//【関数名 】:cv_CartoonFilter
//【処理概要】:アニメフィルタ
//【引数  】:src        = 入力画像(カラー8bit3ch)
//      :dst        = 出力画像(カラー8bit3ch)
//      :  輪郭の設定
//      :BlockSize    = 値を小さくすると輪郭が細かくなる    3, 5, 7・・・
//      :ContThre    = 値が小さいほど輪郭が増える
//      :  減色の設定
//      :PyrLevel = 値が小さいと同じ色の領域が細かくなる
//      :SegmentThre 値が大きいと同じ色の領域が大きくなる
//      :  共通
//      :MedianLevel = ノイズ除去レベル 3, 5, 7・・・
//【戻り値 】:なし
//【備考  】:画像サイズが 幅を(2のPyrLevel乗) もしくは 高さを(2のPyrLevel乗)で
//      :割り切れないない場合、処理できない部分が残ります。
//      :<推奨設定値例>
//      :BlockSize    = 11
//      :ContThre    = 5.0
//      :PyrLevel    = 5
//      :SegmentThre = 30.0
//      :MedianLevel = 5
//---------------------------------------------------------------

void cv_CartoonFilter(IplImage* src, IplImage* dst,
            int BlockSize, double ContThre,
            int    PyrLevel, double SegmentThre, int MedianLevel){

    ////////////////////////////////////////////////////////////////
    //
    // 輪郭画像の作成
    //
    ////////////////////////////////////////////////////////////////


    IplImage* contour_gray  = cvCreateImage (cvGetSize (src), IPL_DEPTH_8U, 1);
    IplImage* contour_color = cvCreateImage (cvGetSize (src), IPL_DEPTH_8U, 3);

    // カラー⇒モノクロ変換
    cvCvtColor (src, contour_gray, CV_BGR2GRAY);
    // 適応的二値化
    cvAdaptiveThreshold (contour_gray, contour_gray, 255,
        CV_ADAPTIVE_THRESH_MEAN_C, CV_THRESH_BINARY, BlockSize, ContThre);
    // ノイズ除去
    cvSmooth(contour_gray, contour_gray, CV_MEDIAN, MedianLevel);
    // モノクロ変換⇒カラー
    cvCvtColor (contour_gray, contour_color, CV_GRAY2BGR);
    // 解放
    cvReleaseImage(&contour_gray);

    ////////////////////////////////////////////////////////////////
    //
    // 減色画像の作成
    //
    ////////////////////////////////////////////////////////////////


    CvMemStorage *storage = cvCreateMemStorage (0);
    CvSeq *comp = 0;
    CvRect roi;

    // 領域分割のためにROIをセットする
    roi.x = roi.y = 0;
    roi.width = src->width & -(1 << PyrLevel);
    roi.height = src->height & -(1 << PyrLevel);
    cvSetImageROI (src, roi);
    cvSetImageROI (dst, roi);
    // 画像ピラミッドを使った領域分割
    cvPyrSegmentation (src, dst, storage, &comp, PyrLevel, 255.0, SegmentThre);
    // ノイズ除去
    cvSmooth(dst, dst, CV_MEDIAN, MedianLevel);
    // 解放
    cvReleaseMemStorage (&storage);
    cvResetImageROI(src);
    cvResetImageROI(dst);
   
    ////////////////////////////////////////////////////////////////
    //
    // 輪郭画像 + 減色画像の作成
    //
    ////////////////////////////////////////////////////////////////


    cvAnd(dst, contour_color, dst);


    // 解放

    cvReleaseImage(&contour_color);


}

この関数を使う時は、こんな感じで↓
cv_CartoonFilter(src_img, dst_img, 11, 5.0, 5, 30.0, 5);

3番目以降の値で輪郭の太さや減色の雰囲気などが変わってくるので、上記関数のコメント部分を参考にしながら、いろいろ試してみて下さい。

この処理、思ったより楽しかったので、いろいろ試してみました。

処理前   処理後
OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換
OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換
OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換
OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換
OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換
OpenCVで実写(写真)をアニメ風に変換 OpenCVで実写(写真)をアニメ風に変換

楽しい!!!
年賀状にも、この処理を使おうっかな~。

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

コンピュータビジョン 最先端ガイド 1、2、3



画像処理系の学会などに参加すると、この本に出てくるキーワードがたくさん出てきます。
学会に参加している間は、何も分からず聞いている場合もあるのですが、そんな今時なアルゴリズムが解説されている、数少ない本だと思います。
ただ、難しめの数式がずらずらと並んでいるので、ちょっと難しい。

難しいので無駄になるかも?しれませんが、2000円と安いので、買ってみるのもいいかもしれません。

一部、処理のサンプルプログラムも記載されているので、プログラムを見た方が、まだ、分かり易い。
でも、ちょっと怪しいコードの部分もあるが、大丈夫なのだろうか???

第3弾ではICPアルゴリズムというのが気になるところです。
確か、三次元データをつなぎ合わせる時に使ったりするアルゴリズムだったと思うが、KinectとICPを使って、簡易三次元スキャナを作りたい...

目次


コンピュータビジョン最先端ガイド1


第1章 レベルセット法とその実装法について 倉爪 亮(九州大学)
1.はじめに
2.Active Contour Modelとは
3.Snakesの理論と実装
4.Level Set Method
5.Level Set Methodの高速な実装法
6.まとめ
A.Level Set Methodの実装例

第2章 グラフカット 石川 博(名古屋市立大学)

1.はじめに
2.エネルギー最小化
3.グラフカット概観
4.グラフとその最小切断
5.グラフカットによる大域最小化
6.グラフカットを使った近似最小化
7.グラフカットの応用
8.むすび

第3章 パーティクルフィルタとその実装法  加藤 丈和(情報通信研究機構)
1.はじめに
2.時系列フィルタの概要
3.カルマンフィルタ
4.パーティクルフィルタ
5.パーティクルフィルタを用いた追跡
6.パーティクルフィルタの実装
7.まとめ
A.サンプルプログラム

第4章 テンソルと多視点幾何  佐藤 淳(名古屋工業大学)
1.はじめに
2.テンソルの基礎
3.幾何学的拘束とテンソル
4.多視点幾何
5.高次元空間における多視点幾何
6.多焦点テンソルの計算に必要な最小点数
7.多焦点テンソル間の関係
8.多視点幾何の縮退
9.多焦点テンソルの計算法
10.まとめ

第5章 AdaBoost 三田 雄志(東芝)
1.はじめに
2.2クラスを識別できるだけで役に立つのか?
3.AdaBoost
4.訓練誤差の性質
5.汎化誤差の性質
6.まとめ

コンピュータビジョン最先端ガイド2

第1章 「物体認識のための画像局所特微量」 藤吉 弘亘,山下隆義
1.一般物体認識
2.Scale-Invariant Feature Transform(SIFT)
3.物体検出に有効な特徴量
4.まとめ
A.第二世代の特徴量の実装例

第2章 「ミーンシフトの原理と応用」  岡田 和典
1.はじめに
2.ミーンシフトの原理
3.ミーンシフトの理論
4.ミーンシフトの利点と欠点
5.理論的拡張
6.ミーンシフトの応用
7.むすび

第3章 「カーネル情報処理入門 ―非線形の魅惑―」 前田 英作
1.はじめに
2.線形から非線形へ
3.カーネル関数
4.ベクトルデータに対するカーネル法(Ⅰ)
5.ベクトルデータに対するカーネル法(Ⅱ)
6.構造化データに対するカーネル法
7.まとめと数学的補足
8.より深い理解のために

第4章 「画像処理とコンピュータビジョンのためのGPU」 ノジク・ヴァンソン,石川 尋代,ドゥソルビエ・フランソワ
1.はじめに
2.コンピュータグラフィックスの基礎
3.GLSL(OpenGL Shading Language)
4.Shaderプログラム
5.画像処理
6.幾何学的処理
7.コンピュータビジョン ツール
8.Virtual Reality
9.General Purpose GPU(GPGPU)
10.How to start
11.まとめ

コンピュータビジョン最先端ガイド3

1章 バンドルアジャストメント
1.はじめに
2.バンドル調整の概要
3.最小化のための数値計算
4.バンドル調整と統計的推測
5.ゲージの自由度
6.逐次計算と再帰的計算
7.おわりに
2章 ICPアルゴリズム
1.はじめに
2.ICPアルゴリズム
3.派生ICPアルゴリズム
4.おわりに
3章 Bag-of-Featuresに基づく物体認識(1) - 特定物体認識 -
1.まえがき
2.処理の流れ
3.特徴抽出
4.画像表現
5.索引付けと照合
6.その他の工夫
7.検証
8.特定物体認識を作ってみる
9.むすび
4章 Bag-of-Featuresに基づく物体認識(2) - 一般物体認識 -
1.はじめに
2.一般物体認識とは?
3.局所特徴量とbag-of-features
4.分類手法
5.特徴統合による分類
6.対象位置の検出とコンテキストを利用したシーン認識
7.データセット
8.おわりに
5章 最近傍探索の理論とアルゴリズム
1.はじめに
2.最近傍探索問題
3.最近傍探索アルゴリズム
4.近似最近傍探索アルゴリズム
5.次元の呪縛を解くために
6.まとめ
6章 大規模確率場と確率的画像処理の深化と展開
1.はじめに
2.画像生成モデルと大規模確率場
3.ノイズ生成モデルとベイズ推定
4.確率伝搬法
5.情報統計力学と統計的性能評価
6.統計的機会学習理論を用いた確率的画像処理
7.おわりに

Loading...
スポンサーリンク

スポンサーリンク 最近の記事
(09/18)  計測測定展に光切断のデモを出展しました
(08/17)  ディジタル画像技術事典200に記事が載りました
(06/09)  光切断を画像センシング展で公開
(05/14)  中国(上海)へ行って来ました
(04/12)  韓国へ行って来ました
(03/10)  私の求める新人像
(01/18)  エレクトロテストジャパンにカラー光切断法のデモを出展しました。
(12/23)  ユニークアクセス200万達成!
(12/10)  【カラー光切断法】YouTube動画まとめ
(11/04)  国際画像機器展2014にカラー光切断法を出展します。
(10/05)  第25回コンピュータビジョン勉強会@関東に参加してきました。
(09/08)  フーリエ変換の記事を追加しました。
(08/09)  【画像処理】ランキング低下中
(07/06)  記事の更新が停滞中...
(06/08)  画像センシング展2014でカラー光切断法のデモを行います。
(05/17)  カラー光切断法の動画を公開しました。
(04/30)  ソニーα NEX-5Rで星空撮影
(04/10)  カラー光切断法の取込結果を追加しました
(03/08)  Korea Vision Show 2014へ行ってきました
(02/05)  フーリエ変換シリーズを始めます。
(01/06)  2014年、あけましておめでとうございます。
(12/04)  カラー光切断法を公開(国際画像機器展2013にて)
(11/13)  国際画像機器展2013に出展します
(10/14)  「画像処理のためのC#」はじめます。
(09/16)  【C#,VB.NET】高速描画コントロールをバージョンアップしました。
(09/04)  拡大鏡に輝度値表示、ルーラー機能を追加した個人ツールを公開
(08/05)  7月の拍手Top5
(07/06)  2013年6月人気記事Top5
(05/12)  SONY α NEX-5Rレビュー
(04/24)  SONY α NEX-5RY購入

【DirectShow】Windows7+WindowsSDKセットアップメモ

以前、Windows Vista にDirectShowのSDKを設定するためにWindowsSDKを設定した事はあったのですが、今回はWindows7に対して、新規に設定してみると、ちょっと動作が違ったので、セットアップのメモをここに残しておきます。

【入手先】
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en

私は上記の物をインストールしましたが、以下の物が最新?
Microsoft Windows SDK for Windows 7 and .NET Framework 4
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en


以下の記事はMicrosoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 をインストールした場合です。

【エラー】 BaseClassesのビルドエラー

1>------ すべてのリビルド開始: プロジェクト: BaseClasses, 構成: Release Win32 ------
1>プロジェクト 'BaseClasses'、構成 'Release|Win32' の中間出力ファイルを削除しています。
1>BaseClasses : warning PRJ0009 : ビルド ログを開いて書き込むことができませんでした。
1>ファイルが別のプロセスによって開かれていないこと、また書込み禁止になっていないことを確認してください。
1>BaseClasses : error PRJ0007 : 出力ディレクトリ 'c:\program files\microsoft sdks\windows\v7.0\samples\multimedia\directshow\baseclasses\release' を作成できませんでした。
1>BaseClasses : error PRJ0006 : 一時ファイル 'c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses\Release\RSP00000474446156.rsp' を開けませんでした。ファイルが存在し、ディレクトリが書込み禁止になっていないことを確認してください。
1>コンパイルしています...
1>プロジェクト : error PRJ0003 : '/O2' の起動中にエラーが発生しました。
1>ビルドログは "file://c:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses\Release\BuildLog.htm" に保存されました。
1>BaseClasses - エラー 3、警告 1
========== すべてリビルド: 0 正常終了、1 失敗、0 スキップ ==========
【対処方法】
Microsoft SDKをC:\Program Files以外の場所へ持っていく
Windows7ではセキュリティの影響でProgram Files以下のフォルダへの書き込みができないそうです。
(参考)
http://www.trycut.com/uac.htm
http://ascii.jp/elem/000/000/206/206917/
http://www.atmarkit.co.jp/fwin2k/win2ktips/859disuac/disuac.html


【エラー】 BaseClassesのビルドエラー

\baseclasses\streams.h(42) : fatal error C1083: include ファイルを開けません。'ddraw.h': No such file or directory
【対処方法】
プロジェクトのプロパティ⇒構成プロパティ⇒C/C++⇒全般 で 追加のインクルードディレクトリに
ddraw.hの場所(××\v7.0\Include)を追加する。 ××は実際のパスを設定します。


【エラー】 BaseClassesのビルドエラー

\baseclasses\streams.h(42) : fatal error C1083: include ファイルを開けません。'ddraw.h': No such file or directory
【対処方法】
プロジェクトのプロパティ⇒構成プロパティ⇒C/C++⇒全般 で 追加のインクルードディレクトリに
ddraw.hの場所(××\v7.0\Include)を追加する。 ××は実際のパスを設定します。


【エラー】 BaseClassesのビルドエラー

~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2061: 構文エラー : 識別子 'CAMSchedule'
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2143: 構文エラー : ';' が '*' の前にありません。
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : warning C4183: 'GetSchedule': 戻り値の型がありません。'int' を返すメンバ関数とみなします。
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C2143: 構文エラー : ';' が '*' の前にありません。
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2065: 'm_pSchedule' : 定義されていない識別子です。
~\v7.0\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2227: '->GetEvent' : 左側がクラス、構造体、共用体、ジェネリック型へのポインタではありません。
1>        型は ''unknown-type'' です。
【対処方法】
プロジェクトのプロパティ⇒構成プロパティ⇒C/C++⇒全般 で 追加のインクルードディレクトリに
Schedule.hの場所(××\v7.0\Samples\multimedia\directshow\baseclasses)を追加する。 
××は実際のパスを設定します。
※インクルードの順番を矢印(↓ ↑)で一番上に設定します。


【エラー】 AmCapのビルドエラー

1>LIB : fatal error LNK1181: 入力ファイル 'strmiids.lib' を開けません。
【対処方法】
プロジェクトのプロパティ⇒構成プロパティ⇒リンカ⇒全般⇒全般 で 追加のライブラリディレクトリに
strmiids.libの場所を追加する。
(Releaseの場合)
..\..\BaseClasses\Release
(Debugの場合)
..\..\BaseClasses\Debug


【エラー】 AmCapのビルドエラー

~\v7.0\samples\multimedia\directshow\baseclasses\streams.h(42) : fatal error C1083: include ファイルを開けません。'ddraw.h': No such file or directory
【対処方法】
プロジェクトのプロパティ⇒構成プロパティ⇒C/C++⇒全般 で 追加のインクルードディレクトリに
ddraw.hの場所(××\v7.0\Include)を追加する。 ××は実際のパスを設定します。


【エラー】 AmCapのビルドエラー

1>Strmbase.lib(strmiids.obj) : fatal error LNK1103: デバッグ情報が壊れています。モジュールを再コンパイルしてください。
【対処方法】
(原因)VS2005とVS2008の相性の問題らしい。
(参考)http://support.microsoft.com/kb/949009
(対処)ここhttps://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=18623のパッチをあてる。


【エラー】 #include <qedit.h> でのエラー

~\v7.0\include\qedit.h(498) : fatal error C1083: include ファイルを開けません。'dxtrans.h': No such file or directory
【対処方法】
(その1)#include <qedit.h>の直前に下記のコードを追加する。
#pragma include_alias( "dxtrans.h", "qedit.h" )
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include <qedit.h>
(情報元)
http://d.hatena.ne.jp/Guernsey/20090803/1249293689

(その2)qedit.hファイルを以下のように編集する。
//#include "dxtrans.h" ・・・ 495行目
IDxtCompositor //: public IDXEffect ・・・ 979行目
IDxtAlphaSetter //: public IDXEffect  ・・・1484行目
IDxtJpeg //: public IDXEffect ・・・1725行目
IDxtKey //: public IDXEffect ・・・2400行目
(情報元)
http://d.hatena.ne.jp/denpafreak/20080117/1200666936

(情報元の元)
http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/ed097d2c-3d68-4f48-8448-277eaaf68252/



Loading...
スポンサーリンク



現在の閲覧者数: / 合計