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

プロフィール

Akira

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

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

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

05 | 2010/06 | 07
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購入

C++/CLI + OpenCV + Debugモード + Stopwatchでエラー?

メインページOpenCV

【OpenCV2.0】C++/CLIによるサンプルプログラム(Ver2.0対応版)で公開しているサンプルプログラムですが、久々に動かしてみると、DebugモードのときにStopwatchクラスの確保の部分でエラーになってしまっていました。

また、コンパイル時も、
Diagnostics::Stopwatch^ sw = gcnew Diagnostics::Stopwatch();
//処理時間計測 開始
sw->Start();

としている部分で

error C2039: 'Start' : 'System::Diagnostics::Stopwatch' のメンバではありません。

というエラーが出てしまう...

ソリューション構成をReleaseに変更するとエラーが消えるのですが、Debugにだとエラーが出てしまう。
もしくはStopwatchがらみの部分を全て削除すれば、エラーは無くなるのですが、エラーの原因が不明。

原因不明のまま、OpenCVのバージョンを2.0から2.1に変更してみたり、ソシューションごとコピーしてみたり、いろいろ試してみたら、結局、元のままのソースでDebugでもエラーが出なくしました。

結局、原因は何だったんだ~?

ちなみに私の環境は
OS:Winows Vista
Visual Studio 2005 Express Edition
OpenCV Ver.2.0
 
 


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

Visual Studio 2010 パッケージ版 6月18日発売!

メインページ

Visual Studio 2010のExpress版はすでに公開されていますが、パッケージ版が6月18日に発売されます。

今回のVisual Studio 2010ではStandard Editionが無いため、ちょっと割高感がありますが、2005/2008のSatndard Editonを持っている人向けに1万本限定でVisual Studio 2010 Professional 乗り換え優待パッケージなるものが用意されています。
(参考)
http://www.microsoft.com/japan/msdn/vstudio/campaign/std2pro.aspx

これがアマゾンなら価格.comの最安値(\38,372)よりも安い\33,390で購入出来るようです。(6月17日現在)




http://www.microsoft.com/japan/msdn/vstudio/campaign/msdne.aspxのページによるとVisual Studio 2010 Professional with MSDN Essentials Subscriptionのアップグレード優待パッケージいうのも比較的割安感があるでしょうか?

VS2010Professionalのアップグレード優待パッケージは
http://www.microsoft.com/japan/msdn/vstudio/2010/product/price/default.aspx
を見る限り、分かりづらいですが、Express Edtionもアップグレードの対象のようです。
(上記ページの※2内の(※1)の部分に書いてありました。)

VS2005/2008のSandardを持っていない人は最悪、Visual Studio 2008 Standard Editon のアップグレードパッケージと2010のProfessional乗り換え優待パッケージを買うのもありか?



これなら\15,989 + \33,390  \49,359 (6月17日現在)
 

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

ライブラリの使用方法、VisualStudioの設定方法

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

最近、OpenCVOpenGLDirectShowなどのライブラリを使う機会が増えてきたので、ライブラリの使い方をまとめておきます。

ライブラリと一言いっても、スタティックライブラリ、ダイナミックライブラリ、.NETのクラスライブラリなどとあるのですが、比較的一般的?なダイナミックライブラリの使用方法を紹介します。

ダイナミックライブラリを使用するには、下記の3点セットが必要となります。
  • ダイナミックリンクライブラリファイル(*.dll)
  • ライブラリファイル(*.lib)
  • ヘッダファイル(インクルードファイル)(*.h)
各ライブラリで何のファイルが必要かは調べて置いて下さい。
*.dllファイルはプログラムの実行時、*.lib、*.hファイルはプログラミング中に必要となります。
また、ライブラリのバージョン、Release用/Debug用とでファイルが異なる場合もあります。

ライブラリを使用するための設定方法もいくつかあるので、私の思う一般的な方法は以下の通りです。

ダイナミックライブラリファイル(*.dll)の参照設定方法

ライブラリをインストールし、*.dllファイルがインストールされたパスを環境変数のPathに設定します。
※このPathの設定はライブラリのインストーラにより自動的に設定される場合もあります。

設定方法は、スタートメニューから、コンピュータを右クリックし、プロパティを選択します。

ライブラリの使用方法、Visual Studioの設定方法

次に表示されたウィンドウのシステムの詳細設定をクリック

ライブラリの使用方法、Visual Studioの設定方法

詳細設定のタブを選択し、右下の環境変数のボタンをクリック

ライブラリの使用方法、Visual Studioの設定方法

すると下図のように××のユーザー環境変数システム環境変数と2種類表示され、両方ともにPathの項目があるのですが、××のユーザー環境変数のPathを設定するとWindowsにログインしたときのユーザーのみでPathの設定が有効となり、システム環境変数のPathを設定すると全ユーザーでPathの設定が有効となります。
私は『ログインしたユーザーを変えるとプログラムが起動しないんだけど?!』とか言われたく無いので、システム環境変数のPathを設定 するようにしています。
そして、Pathの項目を選択し、編集ボタンをクリックします。

ライブラリの使用方法、Visual Studioの設定方法

そして、編集値の欄に*.dllファイルがインストールされているパス(フォルダ名のフルパス)をセミコロン(;)に続けて記載します。

(例)
;C:\Program Files\OpenCV\lib

ライブラリの使用方法、Visual Studioの設定方法

また、この*.dllファイルのパスは必ずしも設定する必要はなく、プログラム(*.exe)のある同一フォルダやC:\Windows\System32フォルダ内に*.dllファイルを入れておくだけでも大丈夫なのですが、プログラムから*.dllファイルを参照するときの優先順位は下記のようになっています。
  1. アプリケーション(*.exe)と同じフォルダ
  2. カレントディレクトリ
  3. システムディレクトリ(C:\Windows\System32 など)
  4. 16Bitシステムディレクトリ(C:\Windows\System など)
  5. Windowsディレクトリ(C:\Windows など)
  6. PATH環境変数に列挙されているディレクトリ

ライブラリファイル(*.lib)の参照設定方法

各ライブラリにおいて、どの*.libファイルが必要なのかは調べておき、それぞれのファイルの参照設定を行います。

まずは、*.libファイルが入っているパスの参照設定を行います。
メニューのプロジェクト→(プロジェクト名)のプロパティをクリックします。

ライブラリの使用方法、Visual Studioの設定方法

開いたウィンドウの構成のプロパティ→リンカ→全般を選択し、追加のライブラリディレクトリにそのまま、*.libファイルのあるパスを設定するか、右側にある・・・のボタンをクリックします。

ライブラリの使用方法、Visual Studioの設定方法

すると追加のライブラリディレクトリのウィンドウが表示されるので、・・・のボタンをクリックし、フォルダのボタンをクリックして*.libファイルのあるフォルダを指定します。

ライブラリの使用方法、Visual Studioの設定方法

ライブラリによっては、参照する順番を指定しなければならない物もあるので、その場合は右上にある ↓ ↑ ボタンで順番を入れ替えます。

次に実際に使用する*.libファイルを設定します。
構成のプロパティ→リンカ→入力の追加の依存ファイルの部分に*.libファイルを入力します。
必要な*.libファイルがある場合は、空白(スペース)で区切って入力します。

ライブラリの使用方法、Visual Studioの設定方法

他にもプログラム中で*.libファイルを直接していする事もできます。

例)
#pragma comment(lib,"C:\\Program Files\\OpenCV\\lib\\cv.lib")

インクルードファイル(*.h)の参照設定方法

インクルードファイル(ヘッダファイル)(*.h)のあるパスを設定します。
設定方法は
メニューのプロジェクト→(プロジェクト名)のプロパティを クリックします。

構成プロパティ→C/C++→全般追加のインクルードディレクトリの欄の右側にある・・・ボタンをクリックします。

ライブラリの使用方法、Visual Studioの設定方法

ヘッダファイルのパスを追加設定するには右上のフォルダのアイコンをクリックします。

ライブラリの使用方法、Visual Studioの設定方法

ボタンをクリックすると、・・・のボタンをクリックすると、ディレクトリの選択のウィンドウが表示されるので、*.hファイルが入っているパスを設定します。

ライブラリの使用方法、Visual Studioの設定方法

そして、プログラム中では

#include <cv.h>

のように設定します。

C++/CLIからライブラリを使用する場合

.NETで作られたライブラリでは無いライブラリを使う場合は、メニューのプロジェクト→(プロジェクト名)のプロパティを クリック、構成プロパティ→全般共通言語ランタイムサポートの欄を

純粋MSIL共通言語ランタイムサポート(/clr:pure)
から
共通言語ランタイムサポート(/clr)
に変更します。

ライブラリの使用方法、Visual Studioの設定方法


その他

*.libファイル、*.hファイルの設定にはDebug用とRelease用の設定がそれぞれありますので、両方設定して下さい。
DebugとReleaseとで設定するファイル名が異なる場合もあるのでご注意下さい。

ライブラリの使用方法、Visual Studioの設定方法

また、メニューのツール→オプションで表示されたウィンドウのプロジェクトおよびソリューション→VC++ディレクトリで、インクルードファイル(*.h)、ライブラリファイル(*.lib)の参照ディレクトリの設定が可能です。(VS2010は非推奨)
逆に言うと、ここに設定されているフォルダにインクルードファイル(*.h)やライブラリファイル(*.lib)を置いても参照する事が可能です。(個人的にはあまりやりませんが...)

ライブラリの使用方法、Visual Studioの設定方法

トラブルシューティング

  • LINK : fatal error LNK1104: ファイル '×××.lib' を開くことができません。
    fatal error C1083: include ファイルを開けません。'cv.h': No such file or directory

    *.libファイル、*.hファイルが指定したフォルダに存在しているか?
    また、*.libファイル、*.hのファイル名が正しいか?
    確認してみて下さい。
  • fatal error C1189: #error :  ERROR: EMM intrinsics not supported in the pure mode!
    共通言語ランタイムサポートの設定を/clr:pureから/clrに変更して下さい。




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



現在の閲覧者数: / 合計