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

プロフィール

Akira

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

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

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

03 | 2017/04 | 05
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 - - - - - -

趣味のブログ

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購入

【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...
スポンサーリンク

スポンサーリンク 最近の記事
(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】SDKサンプルプログラムAmCapのビルド方法

以下の記事はWindows Vistaにインストールした場合です。
Windows7にインストールした時のエラーの対処方法については
Windows7+WindowsSDKセットアップメモ
のページも参照下さい。

USBカメラやAVIファイルなどを使って動画の再生や画像データの取得はOpenCVでもできますが、細かい設定や対応しているUSBカメラなどに制限があるので、やっぱりDirectShowを使って、プログラムを組みたいものです。

そこで、最も参考になるサンプルプログラムはWindowsSDKのAmCapというサンプルプログラム。
このサンプルプログラムを用いると、USBカメラからの画像取得や、AVIファイル保存などが可能になります。

WindowsSDKについてはDirectShow SDKの入手、ダウンロードのページでも紹介していますが、Microsoftダウンロードセンターよりダウンロードして下さい。

WindowsSDKをインストールすると、目指すAmCapのサンプルプログラムは以下のフォルダに保存されています。

C:\Program Files\Microsoft SDKs\Windows\v*.*\Samples\Multimedia\DirectShow\Capture\AMCap
(
v*.*の部分にはSDKのバージョンが入ります。)
上記フォルダ内にVisualStudioのソリューションファイルamcap.slnがあるので、このファイルを開きます。
フォルダは移動せずに開いて下さい。

しかし、
1>LINK : fatal error LNK1104: ファイル 'Strmbasd.lib' を開くことができません。
というエラーが出てしまいます。
このStrmbasd.libというファイルは、WindowsSDKをインストールしただけでは存在していないので、

C:\Program Files\Microsoft SDKs\Windows\v*.*\Samples\Multimedia\DirectShow\baseclasses

内にあるプロジェクトファイルbaseclasses.slnを開き、DebugとReleaseの両方ともビルドしておきます。
これにより、Releaseの場合:Strmbase.lib、Debugの場合:Strmbasd.lib のファイルが作成されます。

すると、再度、amcap.slnを開き、プロジェクトをビルドするとエラーが無くなると思います。

このサンプルプログラムのフォルダを移動したい場合は、
AmCapのプロパティ⇒構成プロパティ⇒C/C++⇒全般
の追加インクルードディレクトリのパスが相対パスになっているので、このパスを絶対パスにしておきます。
WindowsSDK Ver7.0の場合、
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\common;C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses
とします。
DirectShowサンプルプログラムのビルド方法

同様に
AmCapのプロパティ⇒構成プロパティ⇒リンカ⇒全般
の追加インクルードディレクトリのパスをWindowsSDK Ver7.0の場合、

構成:Debugのとき
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses\Debug
構成:Releaseのとき
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses\Release
に変更します。
DirectShowサンプルプログラムのビルド方法
 
また、デバッグ実行をすると、プログラムが実行されない場合があるようです。
その場合は、ビルドして作成されたファイルAmCap.exeを実行してみて下さい。
 
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 SDKの入手、ダウンロード

DirectShowのSDK(Software Development Kit)は以前まではDirectXのSDKに含まれていましたが、途中からはWindows SDKに含まれるようになっています。

Windows SDKは

【Windows7 および .NET Framework3.5 SP1向け】
http://www.microsoft.com/downloads/details.aspx?FamilyID=c17ba869-9671-4330-a63e-1fd44e0e2505&displaylang=en

【Windows Vista および .NET Framework3.0向け】
http://www.microsoft.com/downloads/details.aspx?FamilyID=7614fe22-8a64-4dfb-aa0c-db53035f40a0&DisplayLang=ja

よりダウンロードが可能です。
対応するバージョンが無い場合は

Microsoftダウンロードセンター 
http://www.microsoft.com/downloads/search.aspx?displaylang=ja


より、検索してみて下さい。

SDKをダウンロードし、インストールすると、デフォルト状態では、DirectShowのSDKは下記フォルダにインストールされます。

C:\Program Files\Microsoft SDKs\Windows\v*.*\Samples\Multimedia\DirectShow
(v*.*の部分にはSDKのバージョンが入ります。)

USBカメラから画像を取り込みたい場合は

C:\Program Files\Microsoft SDKs\Windows\v*.*\Samples\Multimedia\DirectShow\Capture\AMCap

に入っているamcap.slnを使えば、かなり参考になると思います。
このソリューションをビルド方法は
  SDKサンプルプログラムAmCapのビルド方法
にて紹介しています。


Windows7用のSDKをインストールしてみましたが、DirectShowよりもWindows7から対応しているDirect2Dの方が気になったりして...

これ↓ (動画、音声あり)

を見ると、ますます興味が惹かれます。
Loading...
スポンサーリンク



現在の閲覧者数: / 合計