OpenCVは、コンピュータービジョン、画像処理のためのアルゴリズムのライブラリです。 ソースコードはオープンソースです。
このことは非常に興味深いものであり、コンピュータでのユーザー識別、オブジェクト認識、オブジェクトの追跡、さらにロボット工学におけるさらに多くのアプリケーションなど、多くの用途があります。
この投稿では、このライブラリの詳細なインストールについて説明し、最も単純なプログラム、つまりコンピュータビジョンの一種の「Hello World」を作成します。 :)
設置
1。
OpenCV for Windowsをダウンロードしてインストールする必要があります。 ダウンロードバージョン1.0の方が良い-このバージョンはまだIntelで作成されています。opencvlibrary.sourceforge.net (デフォルトのフォルダーC:/ Program Files / OpenCV /にインストールしました)
2。
MS Visual Studio 2008をダウンロードしてインストールします(まだインストールしていない場合)、またはMS Visual C ++ 2008 Express Editionをwww.microsoft.com/express/vcからダウンロードします(登録について思い出す必要はないと思います:))。3。
これで必要なものがすべてインストールされたので、MSVS 2008でOpenCVを有効にして始めましょう。- メインメニューで、[ツール]-> [オプション]を選択します。
- 右側のリストで、[プロジェクトとソリューション]-> [VC ++ディレクトリ]([プロジェクトとソリューション]-> [VC ++ディレクトリ])を選択します。
- まず、「Show Directories for:」リストボックスから「Include Files」を選択します。
- [新規挿入]アイコンをクリックして、次の行を追加します。
「C:\ Program Files \ OpenCV \ cv \ include」
「C:\ Program Files \ OpenCV \ cxcore \ include」
「C:\ Program Files \ OpenCV \ otherlibs \ highgui」
「C:\ Program Files \ OpenCV \ cvaux \ include」
「C:\ Program Files \ OpenCV \ otherlibs \ cvcam \ include」
「C:\ Program Files \ OpenCV \ ml \ include」
「C:\ Program Files \ OpenCV \ otherlibs \ _graphics \ include」
「C:\ Program Files \ OpenCV \ otherlibs \ _graphics \ include \ jasper」
スクリーンショットで結果を確認できます。
次に、リストボックスで「ライブラリファイル」を選択して追加します
次の行:
「C:\ Program Files \ OpenCV \ lib」
「C:\ Program Files \ OpenCV \ otherlibs \ _graphics \ lib」
次に、同じリストボックスで「ソースファイル」を選択して追加します:
「C:\ Program Files \ OpenCV \ cv \ src」
「C:\ Program Files \ OpenCV \ cxcore \ src」
「C:\ Program Files \ OpenCV \ cvaux \ src」
「C:\ Program Files \ OpenCV \ otherlibs \ highgui」
「C:\ Program Files \ OpenCV \ otherlibs \ cvcam \ src \ windows」
「C:\ Program Files \ OpenCV \ ml \ src」
「C:\ Program Files \ OpenCV \ otherlibs \ _graphics \ src」
4。
OpenCVを使用して新しいプロジェクトを作成する場合、次のことを行う必要があります。-MSVSで、[ファイル]-> [作成]-> [プロジェクト]([ファイル]-> [作成]-> [プロジェクト])を選択し、VC ++でコンソールアプリケーションを作成します。
- 開いているプロジェクトで、「プロジェクト」->「プロパティ」を選択します。
- 次の構成プロパティ->リンカー->入力
- そして、「Additional Dependencies」フィールドにライブラリー名を追加します:cxcore.lib cv.lib highgui.lib cvaux.lib cvcam.lib
デバッグモードからリリースに切り替えるときは、ライブラリを「追加の依存関係」に再度追加する必要があることに注意してください。
設定が完了したら、最初のプログラムを開始できます!
最初のプログラム。
最初のプログラムでは、ウィンドウを作成し、画像を表示し、キーストロークを待ってアプリケーションを閉じる方法を学びます。
OpenCVは、カメラからのビデオおよびビデオストリームだけでなく、さまざまな種類の画像を処理する機能を提供します。 これらの機能は、OpenCVパッケージに含まれているHighGUIライブラリの一部です。
これが最初のプログラムのリストです。
#include "stdafx.h"
#include "highgui.h"
int main (int argc, char** argv)
{
IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE);
cvShowImage( "Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Example1" );
}
このプログラムはコマンドラインから実行する必要があり、最初のパラメーターとしてイメージへのパスを渡します。
アップロードする画像として、最初のプログラムから画面を選択しました。
動作原理を考慮してください。 起動時に、プログラムは最初のツールによって送信された画像をメモリにロードして画面に表示し、キーが押されるのを待って、押した後に閉じます。
次に、各チームを個別に検討します。
IplImage* img = cvLoadImage( argv[1] );
この行は画像を直接読み込みます。 cvLoadImage()関数自体は、画像に必要なメモリ量を割り当て、以下を含む多数の形式で動作できます。
BMP、DIB、JPEG、JPE、PNG、PBM、PGM、PPM、SR、RAS、およびTIFF。 結果として、画像データ構造へのポインタを返します。 この構造はIplImageと呼ばれます。 cvLoadImage()ポインターを使用して、画像とそのデータを操作します。
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE);
cvNamedWindow()は、画像を含むウィンドウを作成します。 ウィンドウ自体の名前を渡す最初のパラメーター、2番目にそのサイズであるフラグCV_WINDOW_AUTOSIZEは、ウィンドウが読み込まれた画像と同じサイズになることを示します。 2番目のパラメーター「0」(ゼロ)を渡すと、プログラムの実行時に自分でウィンドウのサイズを変更できます。
cvShowImage( "Example1", img );
最初のパラメーターとして渡した名前のウィンドウに画像を直接表示し、2番目のパラメーターは画像自体を転送します。
cvWaitKey(0);
この関数は、関数の引数がゼロより大きい場合、プログラムを停止し、キーストロークを予期します。プログラムはこのミリ秒数を予期し、何も押されていない場合はプログラムを続行します。 引数がゼロ以下の場合、プログラムはキーが押されるのを待ってから動作を続けます。
cvReleaseImage( &img );
この関数は、イメージに関連付けられているメモリを解放し、imgポインターをNULLに設定します。
cvDestroyWindow( "Example1" );
最後に、ウィンドウを閉じて、割り当てられたメモリを解放します。 単純なプログラムでは、最後の2つのアクションはオプションです。これは、プログラムを閉じた後、OS自体がすべてを実行するためです。 しかし、あなたは常にそれに頼るべきではありません、そして、安全のために、それはあなた自身ですべてをするほうが良いです。 :)
ご清聴ありがとうございました。
これが私の最初の投稿です。多くの人が気に入ってくれることを願っています。 ;)