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

プロフィール

Akira

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

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

スポンサーリンク


カテゴリ

最近のコメント

カレンダー

11 | 2010/12 | 01
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購入

【OpenCV2.2】Windows7(64bit)でUSBカメラが動作せず

OpenCV2.2において、USBカメラから画像を取得しようとすると、どうやら動作してくれないらしい。

【評価環境】
Windows7 64bit
OpenCV-2.2.0-win32-vs2010.exeを使用
使用サンプルプログラム:http://imagingsolution.blog107.fc2.com/blog-entry-208.htmlに記載のもの

気になったので、Ticketが無いか?ここ(https://code.ros.org/trac/opencv/report/2?USER=anonymous&page=2)で調べてみたら、やっぱりそれらしき報告がある。
https://code.ros.org/trac/opencv/ticket/735

(追加情報)dandelionさんより情報を頂きました。
http://pr.willowgarage.com/wiki/OpenCVMeetingNotes/Minutes%202010-12-14

OpenCV2.1だと動作してくれているので、OpenCV2.2は動画系が総崩れか???

でも、OpenCV2.1だとcvLoadImageで大きい画像が開けないバグもあるので、結局、使えそうな安定版はOpenCV2.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購入

【C++/CLI】矢印の大きさ変更、任意形状の指定方法

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

.NETで矢印を描画する場合、線種、線幅、終端形状、接合形状の設定でも紹介したようにStartCapEndCapのプロパティでArrowAnchorを指定すれば、矢印を描画する事はできますが、デフォルト状態では、矢印が小さすぎてあまり使い物になりません。

そこで、矢印の大きさを指定、任意形状を指定する方法を紹介したいと思います。

まずは、実行結果と、そのプログラムを参照下さい。

【実行結果】
矢印の大きさの変更、任意形状の指定
【サンプルプログラム】
private: System::Void pictureBox1_Paint(System::Object^  sender, System::Windows::Forms::PaintEventArgs^  e) {

                 //黒の線幅1のペンを作成
                 Pen^ p = gcnew Pen(Color::Black, 1);

                 ////////////////////////
                 //サイズ指定した矢印の描画


                 //サイズを指定した矢印を作成する。
                 System::Drawing::Drawing2D::AdjustableArrowCap^ myArrow
                        = gcnew System::Drawing::Drawing2D::AdjustableArrowCap(20, 20, false);

                 //線の終端に作成した矢印を指定する。
                 p->CustomEndCap = myArrow;

                 //矢印の描画
                 e->Graphics->DrawLine(p, 10, 50, 200, 50);

                 ////////////////////////
                 //任意矢印の描画

                 //GraphicsPathの作成

                 System::Drawing::Drawing2D::GraphicsPath ^hPath
                     = gcnew System::Drawing::Drawing2D::GraphicsPath();

                 array<Point>^ pts
                     = gcnew array<Point>{Point(0, 0), Point(-10, -20)
                        , Point(0, -14), Point(10, -20), Point(0, 0)};

                 // GraphicsPathへ多角形(矢印)を追加
                 hPath->AddPolygon(pts);

                 //塗りつぶさないカスタムキャップの定義
                 System::Drawing::Drawing2D::CustomLineCap ^HookStartCap
                     = gcnew System::Drawing::Drawing2D::CustomLineCap(nullptr, hPath);
                 //カスタムキャップの指定
                 p->CustomStartCap = HookStartCap;

                 //塗りつぶすカスタムキャップの定義
                 System::Drawing::Drawing2D::CustomLineCap ^HookEndCap
                     = gcnew System::Drawing::Drawing2D::CustomLineCap(hPath, nullptr);
                 //カスタムキャップの指定
                 p->CustomEndCap = HookEndCap;

                 //矢印の描画
                 e->Graphics->DrawLine(p, 10, 100, 200, 100);

                 //ペン幅を指定して矢印を描画
                 p->Width = 3;
                 e->Graphics->DrawLine(p, 10, 180, 200, 180);

             }

まず、矢印の大きさはSystem::Drawing::Drawing2D::AdjustableArrowCapクラスで幅と高さを指定します。
幅と高さの関係は以下のようになっています。
矢印の大きさの変更、任意形状の指定
また、塗りつぶした矢印を描きたい場合は

System::Drawing::Drawing2D::AdjustableArrowCap^ myArrow
                 = gcnew System::Drawing::Drawing2D::AdjustableArrowCap(20, 20, true);

のように指定します。

また、任意形状の矢印を描画したい場合は、矢印の形状そのものはGraphicPathで指定した形状をSystem::Drawing::Drawing2D::CustomLineCapクラスに指定する事で矢印を描画できます。

この時、GraphicPathで矢印の形状を指定する時の座標系は以下のように、線の中心から線の端点へ向かう方向が+Y軸方向となり、その反時計まわりに90度の方向が+X軸方向となります。
矢印の大きさの変更、任意形状の指定

塗りつぶさない矢印を描画する場合は
System::Drawing::Drawing2D::CustomLineCap ^HookStartCap
                  = gcnew System::Drawing::Drawing2D::CustomLineCap(nullptr, hPath);

塗りつぶす矢印を描画する場合は
System::Drawing::Drawing2D::CustomLineCap ^HookStartCap
                  = gcnew System::Drawing::Drawing2D::CustomLineCap(hPath, nullptr);

のように、CustomLineCapのどちらかに引数に作成したGraphicPathを指定します。

ここで、バグ?のような動作があり、同じGraphicPathを指定しているにも関わらず、塗りつぶすか?塗りつぶさないか?によって実際に描画される大きさが異なる場合もあるようにです。

また、実際に描画される矢印の大きさは線の幅(PenWidthプロパティ)の値に応じて大きさが変わります。

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

Windowsドライバの削除方法

今回は唐突にWindowsドライバの削除方法ですが、実はKinectのドライバが何種類か出回っていて、ドライバを切り替えたいが為に今回はドライバの削除方法を自分の備忘録もかねて。

注)ドライバの削除を誤ると、他のデバイスが動作しなくなる場合がありますので、ドライバの削除は十分注意のうえ、自己責任で行って下さい。

Windowsのドライバを削除する場合、スタートメニューよりコントロールパネル→デバイスマネージャーで削除するデバイスを右クリックして削除を行っても、デバイスマネージャーのメニューの操作→ハードウェア変更のスキャンをクリックすると削除したはずのドライバが元に戻ってしまいます。

Windowsドライバの削除方法

そうならないようにするためにもドライバを完全に削除する方法を紹介します。

まず、削除するデバイスを選択し、右クリックしプロパティをクリックします。

Windowsドライバの削除方法

次に表示されたウィンドウのドライバータブのドライバーの詳細をクリックします。

Windowsドライバの削除方法

するとデバイスドライバが使用しているファイルが表示されているので、これらのファイルを削除します。

ちなみにKinect-v**-withsourceを使ってドライバをインストールした場合は以下の3つのファイルを削除します。
C:\Windows\System32\drivers\libusb0.sys
C:\Windows\System32\libusb0.dll
C:\Windows\SysWOW64\libusb0.dll

(ただし、削除したドライバが元に戻らなくするだけなら、これらのファイルを削除する必要はありません。
 あくまで、完全にドライバを削除する場合)


次にC:\Windows\infのフォルダ内にある*.infファイルの中から、削除するデバイスが使用していると思われるファイルを見つけます。
infファイルをメモ帳などで開き、DeviceNameやSourceNameなどを参考にしながら対象のinfファイルを探し出します。

ちなみに、Kinect-v**-withsourceを使ってドライバをインストールした場合は、以下のように表示されている3つのファイルが相当します。

; Xbox_NUI_Motor.inf
; Copyright (c) 2010 libusb-win32 (GNU LGPL)
[Strings]
DeviceName = "Xbox NUI Motor"
VendorName = "Microsoft Corp."
SourceName = "Xbox NUI Motor Install Disk"
DeviceID   = "VID_045E&PID_02B0"
DeviceGUID = "{283E6E32-2356-4775-9D97-0B4EA8775D39}"

・・・

; Xbox_NUI_Camera.inf
; Copyright (c) 2010 libusb-win32 (GNU LGPL)

[Strings]
DeviceName = "Xbox NUI Camera"
VendorName = "Microsoft Corp."
SourceName = "Xbox NUI Camera Install Disk"
DeviceID   = "VID_045E&PID_02AE"
DeviceGUID = "{D3074D04-3130-4FF6-A71F-D810C5D59867}"
・・・

; Xbox_NUI_Audio.inf
; Copyright (c) 2010 libusb-win32 (GNU LGPL)

[Strings]
DeviceName = "Xbox NUI Audio"
VendorName = "Microsoft Corp."
SourceName = "Xbox NUI Audio Install Disk"
DeviceID   = "VID_045E&PID_02AD"
DeviceGUID = "{D4AF50D4-8548-420F-87E4-F3B9AE4F5918}"
・・・

*.infファイルはoem**.infというようなファイル名になっている場合が多いのですが、oem**.infファイル同じ名前のoem**.PNFファイルの2ファイルをセットで削除します。
Kinectの場合、Motor、Camera、Audio用のファイル3セット(*.infと*.PNF)、計6つのファイルを削除します。

そして最後に?(最後じゃなくてもいいかも?)、削除するデバイスを選択して右ボタンクリックで削除をクリックします。
Windowsドライバの削除方法

これで、ハードウェア変更のスキャンを行っても、ドライバが元に戻る事は無くなるので、新たにドライバをインストールすることが可能となります。

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

【OpenCV2.2】新規プロジェクトの作成方法

メインページOpenCV

OpenCVを始めたばかりのころ、OpenCVのサンプルプログラムはOpenCV.jpのHPにサンプルプログラムは載っていますが、これをどうやって使えばいいのか?分からなかった覚えがあります。
ということで、これらのサンプルプログラムを使うためのプロジェクトの作成方法を示します。

サンプルプロジェクトはこちらに公開しています。

今回はOpenCV2.2およびVisual Studio2010を用いた場合を例にとって紹介します。

新規プロジェクトの作成方法

Visual Studio を起動し、新しいプロジェクトをクリックします。
OpenCV2.2新規プロジェクトの作成方法

開いたウィンドウのWin32コンソールアプリケーションを選択し、任意の名前および場所を指定します。

OpenCV2.2新規プロジェクトの作成方法
OKボタンをクリックし、次へをクリックします。
OpenCV2.2新規プロジェクトの作成方法
さらに表示されたウィンドウの完了をクリックします。
OpenCV2.2新規プロジェクトの作成方法
すると、空の状態のソースコードが作成されます。
OpenCV2.2新規プロジェクトの作成方法
OpenCV.jpのサンプルとは、mainの部分がちょっと異なりますが、気にせず、そのままにしておいて下さい。

次にOpenCV2.2の入手、ダウンロード、インストール、環境設定の最後の部分でも紹介していますが、ヘッダファイルをプログラムから参照できるように、OpenCVのヘッダファイルのディレクトリを指定します。

OpenCV2.2新規プロジェクトの作成方法

プロジェクトのプロパティで構成プロパティ→C/C++→全般追加のインクルードディレクトリ
C:\OpenCV2.2\include
を指定します。

あとは、作成したcppファイル(上記の例ではOpenCV2.2Sample.cpp)にプログラムをしていけばOKです。

以下、画像を開き、ガウシアンフィルタ処理を行い、処理前、処理後の画像を表示するだけの簡単なサンプルプログラムを示します。

// OpenCV2.2Sample.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//


#include "stdafx.h"

//プロジェクトのプロパティ⇒C/C++⇒全般 の追加のインクルードディレクトリに
// 『C:\OpenCV2.2\include』を追加のこと

#include "opencv2\\opencv.hpp"

#ifdef _DEBUG
    //Debugモードの場合
    #pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_core220d.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_imgproc220d.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_highgui220d.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_objdetect220d.lib")
    //以下、必要に応じて追加
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_ml220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_features2d220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_video220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_calib3d220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_flann220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_contrib220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_legacy220d.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_gpu220d.lib")

#else
    //Releaseモードの場合
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_core220.lib"
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_imgproc220.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_highgui220.lib")
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_objdetect220.lib")
    //以下、必要に応じて追加
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_ml220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_features2d220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_video220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_calib3d220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_flann220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_contrib220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_legacy220.lib")
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_gpu220.lib")

#endif

int _tmain(int argc, _TCHAR* argv[])
{
    //画像データの読込
    IplImage* src_img = cvLoadImage("C:\\OpenCV2.2\\samples\\c\\lena.jpg", CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
    if (src_img == NULL){
        return 0;
    }

    //表示ウィンドウの作成
    cvNamedWindow("src");
    cvNamedWindow("dst");

    //処理後画像データの確保
    IplImage* dst_img = cvCreateImage(cvGetSize(src_img), src_img->depth, src_img->nChannels);

    //画像処理例(ガウシアンフィルタ)
    cvSmooth(src_img, dst_img, CV_GAUSSIAN, 9);

    //画像の表示
    cvShowImage ("src", src_img);
    cvShowImage ("dst", dst_img);

    //キー入力待ち
    cvWaitKey (0);

    //全てのウィンドウの削除
    cvDestroyAllWindows();

    //画像データの解放
    cvReleaseImage(&src_img);
    cvReleaseImage(&dst_img);

    return 0;
}


【関連記事】
OpenCV2.2の入手、ダウンロード、インストール、環境設定


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

OpenCV2.2の入手、ダウンロード、インストール、環境設定

メインページOpenCV


※現在OpenCV2.3が公開されています。
  OpenCV2.3についての解説は
     OpenCV2.3の入手、ダウンロード、インストール、環境設定
  を参照下さい。
     下記はOpenCV2.2のときのものです。



OpenCV2.2は内容こそ、そこそこ変更になったものの、OpenCVのインストール方法はOpenCV2.1とほぼ同じです。
これまでにもインストール方法についてはOpenCV1.0OpenCV2.0OpenCV2.1と紹介してきたので、今回も簡単に紹介したいと思います。

OpenCV2.1のインストール方法については、VisualStudio2010向けのインストールパッケージ(OpenCV-2.2.0-win32-vs2010.exe)を使う方法と、64bit対応やIPP、TBBなどのへの細かい設定をCMakeというソフトを使ってOpenCVをビルドする方法とがあるのですが、今回は前者の方を説明します。後者の方は少し設定が難しくなるので、初心者の方にはあまりお勧めできませんが、やりたい場合はOpenCV2.1を参考に設定してみて下さい。

ただし、OpenCV-2.2.0-win32-vs2010.exeを使った場合でもVIsual Studio2008でも、64bitOSでも動作(32bit動作)動作します。VIsual Studio2008で動作させるには、おそらくMicrosoft Visual C++ 2010 再頒布可能パッケージが必要になると思います。(私の環境ではVS2005 Standard、VS2008Ex、VS2010Exとインストールしているので、未評価です。)

OpenCV2.2の入手

OpenCV2.2は以下のページより入手します。
http://sourceforge.net/projects/opencvlibrary/

このページの『Download Now!』をクリックして、ファイル(OpenCV-2.2.0-win32-vs2010.exe)を入手します。
OpenCV2.2の入手、ダウンロード、インストール、環境設定

OpenCV2.2のインストール方法

ダウンロードしたファイル(OpenCV-2.2.0-win32-vs2010.exe)をダブルクリックしてOpenCV2.2のインストールを開始します。
OpenCV2.2の入手、ダウンロード、インストール、環境設定

上図のような画面が表示されるので、『次へ』をクリックします。

OpenCV2.2の入手、ダウンロード、インストール、環境設定

表示されたライセンス契約(いわゆるBSDライセンス)をご確認のうえ、『同意する』をクリック

OpenCV2.2の入手、ダウンロード、インストール、環境設定

Add OpenCV to the system PATH for all users
 もしくは
Add OpenCV to the system PATH for current users

を選択して『次へ』をクリック (デフォルト設定とは異なるので注意!

OpenCV2.2の入手、ダウンロード、インストール、環境設定

インストール先を選択し、『次へ』をクリック
(今度の説明などで、このデフォルト設定を基本として説明しますので、特に変更の必要が無い場合はデフォルトのまま設定して下さい。)

OpenCV2.2の入手、ダウンロード、インストール、環境設定

スタートメニューフォルダの設定が表示されますが、このまま『次へ』をクリック

OpenCV2.2の入手、ダウンロード、インストール、環境設定

セットアップする内容も、このまま『次へ』をクリック

OpenCV2.2の入手、ダウンロード、インストール、環境設定

上図が表示されたら、『完了』をクリックして、インストールは完了です。

インストール出来たか?確認のため、スタートメニューの全てのプログラム→OpenCV2.2.0→C Samples 内の実行ファイル(例えば、morphology.exeなど)が実行できるかどうか確認してみて下さい。
(ここで、実行できない場合はPATHの設定がされていない可能性があります。)

ライブラリファイル(*.lib)とヘッダファイル(*.h)の設定

ライブラリファイル(*.lib)とヘッダファイル(*.h)の設定方法は、好みの分かれるところなので、設定方法は各個人によって異なると思いますが、私の場合は以下のようにしています。

OpenCV2.2の場合は、ヘッダファイルから別のヘッダファイルがインクルードされるので、プロジェクトの設定で『追加のインクルードディレクトリ』の設定は必須のようです。

設定方法は、メニューのプロジェクト→プロパティでプロパティページを開きます。
OpenCV2.2の入手、ダウンロード、インストール、環境設定
構成プロパティ→C/C++→全般追加のインクルードディレクトリに、OpenCV2.2のincludeディレクトリを指定します。
デフォルトでインストールした場合は
C:\OpenCV2.2\include
を指定します。

あとはソースコード中に以下のように記載します。
(プロジェクトのプロパティの構成プロパティ→リンカー→入力で設定しても構いません。)

//プロジェクトのプロパティ⇒C/C++⇒全般 の追加のインクルードディレクトリに
// 『C:\OpenCV2.2\include』を追加のこと

#include "opencv2\\opencv.hpp"

#ifdef _DEBUG
    //Debugモードの場合
    #pragma comment(
lib,"C:\\OpenCV2.2\\lib\\opencv_core220d.lib")            // opencv_core
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_imgproc220d.lib")        // opencv_imgproc
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_highgui220d.lib")        // opencv_highgui
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_objdetect220d.lib")    // opencv_objdetect
    //以下、必要に応じて追加
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_ml220d.lib")            // opencv_ml
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_features2d220d.lib")    // opencv_features2d
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_video220d.lib")        // opencv_video
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_calib3d220d.lib")        // opencv_calib3d
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_flann220d.lib")        // opencv_flann
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_contrib220d.lib")        // opencv_contrib
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_legacy220d.lib")        // opencv_legacy
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_gpu220d.lib")            // opencv_gpu

#else
    //Releaseモードの場合
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_core220.lib")            // opencv_core
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_imgproc220.lib")        // opencv_imgproc
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_highgui220.lib")        // opencv_highgui
   
#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_objdetect220.lib")    // opencv_objdetect
    //以下、必要に応じて追加
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_ml220.lib")            // opencv_ml
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_features2d220.lib")    // opencv_features2d
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_video220.lib")        // opencv_video
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_calib3d220.lib")        // opencv_calib3d
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_flann220.lib")        // opencv_flann
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_contrib220.lib")        // opencv_contrib
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_legacy220.lib")        // opencv_legacy
    //#pragma comment(lib,"C:\\OpenCV2.2\\lib\\opencv_gpu220.lib")            // opencv_gpu

#endif

#pragmaをコメントアウトしている部分は書かなくても、ほぼ大丈夫ですし、コメントアウトしなくても大丈夫です。
ただ、opencv_ml、opencv_feature2dなどの関数を使う場合にはコメントアウトは外して下さい。


【関連記事】
新規プロジェクトの作成方法


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

国際画像機器展2010に出展しました。

先日、2010.12.8~2010.12.10にパシフィコ横浜で開催された国際画像機器展2010へ私の会社も出展しました。

出展した製品の中でも注目度の高かったのがCoaXPress製品だったと思います。

CoaXPressという規格については以前にも簡単にCoaXPress規格発表の記事で紹介しましたが、現在主流となっている、CameraLinkの中でも一番高速なFullConfigという転送速度に相当するカメラ接続が、同軸ケーブル1本で接続が可能で、さらに電源供給も行い、ケーブル長も40Mまで可能という、魅力のある規格なのです。

このCoaXPressに対応したのが、APX-3662という画像入力ボード
CoaXPress対応画像入力ボード APX-3662
写真の一番左のボードがAPX-3662です。(ただ今、総力をあげて開発中です。)

また、CameraLinkケーブルに電源供給を行い、小型化を狙ったPoCL-Lightという規格のカメラを4台接続可能なAPX-3311というボードも展示しました。

PoCL-Light 4カメラ接続ボード APX-3311

これらの製品は組み込みネットというHPでも紹介されていました。
工場で使われる検査用カメラやFAパソコン,高速伝送ボードなどが一堂に ―― 国際画像機器展 2010レポート

また、日頃より画像処理のアルゴリズム開発などでご指導頂いている株式会社アイディールさんのブースが近くにあったので、写真を撮らせてもらいました。
展示していたのは、高精度位置決めライブラリのeyemPositionerという製品
位置決めライブラリ eyemPositioner

位置決めにおいて、大事な事は位置決め精度は当然ですが、いかに速く、簡単に位置決めができるか?がポイントだそうです。位置決めの一連の処理時間のうち、大きなウェイトを占めるのが、ステージの移動時間で、いかに1発で(1回のアライメント動作で)高精度な位置へ追い込むか?というところが開発者にとっての腕の見せ所だと言っていました。

そして、個人的には一番(じゃいけない...)の目的だった、コンピュータビジョン 最先端ガイド3も購入!
これで、1,2,3揃いました。(ちょっとキレイすぎ?!であまり読んでいないのが...)
コンピュータビジョン 最先端ガイド3
国際画像機器展2010では先行発売をしてたのですが、通常発売は12月13日よりです。

最後に、会場へ来て下さった方々には、どうもありがとうございました。
今後ともよろしくお願い致します。


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



現在の閲覧者数: / 合計