HighGUIグラフィカル・ユーザー・インターフェース

1つの#include <opencv2コア\ \ core.hpp>
 2の#include <opencv2 \のHighGUI \ highgui.hpp>
 3  使用して 名前空間の品種;

ファイルへの画像表示、出力のロード

画像の読み込み:関数imread()関数

プロトタイプ:

1枚のマット関数imread(CONST  ストリング・ファイル名、int型フラグ= 1)。

(1)最初の引数、画像のパス名がロードされます。

二番目のパラメータが識別されるロード(2)、列挙体OpenCVの画像フォーマット識別子の値は、ロードされるカラー画像の種類を指定します。デフォルトのカラー画像は、3チャネルをロードしました。

1 CV_LOAD_IMAGE_UNCHANGED = - 1 ; // 新しいバージョン廃止
2 CV_LOAD_IMAGE_GRAYSCALE = 0 ; // グレースケールした後返すように画像を変換する
3。 CV_LOAD_IMAGE_COLOR = 1 ; // 画像バック色に変換される
4。 CV_LOAD_IMAGE_ANYDEPTH = 2 ; // 読み込み画像16ビットまたは32ビットは、対応する深度画像を返し、またはバック8ビットの画像に変換される
5。 CV_LOAD_IMAGE_ANYCOLOR = 4 ; 
 6。 
7。 CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR; // 1 |読み込み3チャネル図4。
8。 CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR; // 2 | 4ローディング実際のソースロスレス画像

フラグは、int型の変数、体はもはや列挙値は、次のとおりです。

  • フラグ> 0戻り3チャンネルカラー画像
  • フラグ= 0を返すのグレースケール
  • フラグ<0のAPHA戻し通路は、ローディング画像(透明色)を含みます

画像表示:関数imshow()関数

関数imshow(のconst  文字列&winname、InputArrayマット)

ウィンドウ識別名(1)最初のパラメータが表示されます

(2)第2のパラメータは、画像は、クラスマットとして、表示されます

関数imshow関数はウィンドウがCV_WINDOW_AUTOSIZE(デフォルト値)作成された場合、指定されたウィンドウ内の画像を表示するために使用されて、元のサイズの画像を表示し、そうでなければ画像がウィンドウに合わせて拡大縮小されるであろう。

namedWindow()関数:ウィンドウを作成します。

簡単な画像表示がこの機能を持っていないだろうが、あなたは窓の前に、ウィンドウの名前を表示する必要がある場合、たとえば、窓に取り付けたスライダを開発し、使用されている場合は、ウィンドウ、ウィンドウ名の明示的な規定を作成するには、この機能を必要とします。

namedWindow関数は、名前で指定された画像およびプログレスバーを作成し、同じ名前のウィンドウがすでに存在する場合、コンテナウィンドウとして使用することができますされ、関数は何もしません。

 namedWindow(のconst  文字列&winname、int型 = WINDOW_AUTOSIZEフラグ);

ウィンドウ名は、(1)それがウインドウ識別子として使用されます

(2)ウィンドウ識別子:

1 WINDOW_NORMAL = 0 ; // ウィンドウのサイズ、CV_WINDOW_NORMAL変更することができる
2 = WINDOW_AUTOSIZE 1。 ; // ウィンドウのサイズを自動的に表示された画像に調整されますが、ユーザが手動でウィンドウサイズを変更できない、CV_WINDOW_AUTOSIZE 
3。 WINDOW_OPENGL = 2 ; // ウィンドウの作成OpenGLの、CV_WINDOW_OPENGLをサポートするとき

チョン地区を閉じ、そして以前に割り当てられたウィンドウに関連付けられているすべてのメモリ空間をキャンセルするDestroyWindowを()またはdestroyAllWindow()関数を介して使用できます。

関数imwrite()関数:ファイルへの出力画像

imgwrite関数が指定された画像にファイルを保存するために使用され、画像フォーマットは、拡張の一貫したイメージファイル拡張子、格納することができ、関数imreadで読み取ることができる拡張に基づいています。

ブール関数imwrite(CONST  ストリング・ファイル名、InputArrayのIMG、コストベクトル< INT >&paramsは =ベクトル< 整数 >());

(1)接尾辞を持つファイル名を記述する必要が。

(2)画像データのマットタイプ

(3)CONSTベクトル<整数>&型のparamsを、<整数>()は、特定のストレージフォーマットデフォルトベクトルを符号化パラメータとして示され、所望であれば、一般的に、記入しません。

  • JPEG、このパラメータは、デフォルト値は95で、画質(CV_IMWRITE_JPEG_QUALITY)0〜100を示し、
  • PNGは、このパラメータは圧縮のレベル(CV_IMWRITE_PNG_COMPRESSION)、0〜9、3のデフォルト値を示します。高い値は、小さいサイズと長い圧縮時間を意味し、
  • PPM / PGM / PBM、このパラメータは、バイナリフォーマットフラグ(CV_IMWRITE_BINARY)、値0または1であり、デフォルトは1を表します。

スライダを作成して使用するには

createTrackbar()関数:スライダーを作成します。

値を調整するためのスライダーと、指定したウィンドウに添付スライダを作成し、アップでコールバック関数を使用する傾向があります。

1  INT creatTrackbar(のconst  文字列&trackbarname、constの 文字列&winname、int型 *値、int型の数、TrackbarCallbackのonChange = 0無効 *ユーザデータ= 0

(1)のconst文字列&trackbarnameの種類、トラックバーの名前

名前(2)cosnt文字列&winnameの種類、窓

(3)INT *値型、整数へのポインタ、スラ​​イダーの位置を示し、スライダの初期位置を作成するには、変数の現在の値です。

位置(4)int型のCOUTの最大値は、スライダは、スライダの最小位置が常に0に達することができます。

(5)TrackbarCallbackのonChange、0のデフォルト値を入力します。コールバック関数へのポインタは、コールバック関数のプロトタイプは、ボイドXXXX(INT、ボイド*)である必要があり、最初のパラメータは、トラックバーの位置であり、第2のパラメータは、ユーザデータです。コールバックは、コールバック関数は、値のみが変更と呼ばれていないことを示す、NULLポインタである場合。

(6)のvoid *型のserdata、0のデフォルト値。ユーザーデータは、トラックバーのイベントを処理し、コールバック関数に渡されます。値の引数がグローバル変数である場合は、ユーザデータを制御しません。

getTrackbarPos()関数:バーの現在のトラック位置を取得

int型 getTrackbarPos(のconst  文字列&trackbarname、constの 文字列&winname)。

(1)のconst文字列&trackbarnameの種類、トラックバーの名前

(2)のconst文字列&型winname、親ウィンドウのトラックバーの名前。

マウス操作

 スライダーの方法と同じようにメッセージマップは、コールバック関数が仲介機能を通じて装着されているようです。マウス機能のコールバック関数がSetMouseCallbackで指定します。

1  空隙 setMouseCallback(CONST  文字列&winname、MouseCallback onMouse、ボイド *ユーザーデータ= 0

(1)CONST文字列&型winname、ウィンドウの名前。

(2)MouseCallback onMouseタイプ、各マウスの発生の時間窓を指定した場合に、関数ポインタが呼び出されます。

関数プロトタイプは、イベントがイベントであることを特徴とボイドはFoo(int型のイベント、int型のx、int型のY、INTフラグ、ボイド*のPARAM)、である_ +(CV_ENENT_ +でopencv2)変数の一つ、xおよびyは、画像内のマウスポインタの座標系であります座標値(ないウィンドウ座標系)であり、フラグがEVENT_FLAGの組み合わせである、PARAMのSetMouseCallbaceパラメータは、ユーザ定義関数呼び出しに渡されます。

EVENT_MOUSEMOVEマウス移動メッセージ、EVENT_LBUTTONDOWNメッセージマウスの左ボタンを押します。

(3)ボイド* UserDataのタイプ、コールバック関数へのユーザ定義パラメータの転送、0のデフォルト値

 

おすすめ

転載: www.cnblogs.com/pacino12134/p/10979238.html