画像読取OpenCVのC ++

int型のmain(){ 
    CV ::マットIMG = CV ::関数imread(" /ホーム/ナン/图片/highdeepth/starry.jpg " 、CV :: IMREAD_REDUCED_COLOR_8)。
     // 関数imread(のconst文字列&ファイル名、int型フラグ= IMREAD_COLOR); 
    もし(img.empty())リターン - 1 
    CV ::関数imshow(" BGR " 、IMG); 
    std ::ベクトル <CV ::マット> 面; 
    CV ::スプリット(IMG、平面)
    CV ::関数imshow(" B "、プレーン[ 0 ])。
    CV ::関数imshow(" G "、プレーン[ 1 ])。
    ::関数imshowのCV(" R&LT "、飛行機[ 2 ]); 
    CV ::関数imshow(" BGR " 、IMG); 

    IMG = CV ::関数imread(" /ホーム/のNaN 3 /画像/highdeepth/starry.jpg " 、CV IMREAD_REDUCED_GRAYSCALE_8::); 
    CV ::スプリット(IMG、飛行機);   // グレースケールのみ1つのチャネルが分離 
    CVを::関数imshow(" グレー"、プレーン[ 0 ]); 
    CV :: waitKey(0 );
     リターン 0 ; 
}

画像のピクセルが大きすぎる場合、あなたはすべての画像を読みたい場合は、このような小型化として使用することができます注:CV :: IMREAD_REDUCED_COLOR_8。

フラグは次のものがあります。

    IMREAD_UNCHANGED = - 1// <設定されている場合であるとして、(アルファチャンネルと、それ以外の場合はトリミングされます)ロードされたイメージを返します!。
       IMREAD_GRAYSCALE = 0// 設定した場合は!<、常に単一チャンネルのグレースケール画像に画像を変換します。
       IMREAD_COLOR = 1// 設定した場合は!<、常に3チャンネルBGRカラー画像に画像を変換します。
       IMREAD_ANYDEPTH = 2// !<設定した場合、入力が対応する深さを有する場合、16ビット/ 32ビットの画像を返し、そうでなければ8ビットに変換します。
       IMREAD_ANYCOLOR = 4// !<設定した場合、イメージはすべての可能なカラーフォーマットで読み込まれます。
       = IMREAD_LOAD_GDAL 8は// !<セットした場合、画像をロードするためのGDALドライバを使用します。
       IMREAD_REDUCED_GRAYSCALE_2 = 16は// 設定されている場合!<、常に単一チャンネルのグレースケール画像に画像を変換して画像サイズが1/2に減少しました。
       IMREAD_REDUCED_COLOR_2 = 17は// 設定されている場合!<、常に3チャンネルBGRカラー画像に画像を変換して画像サイズが1/2に減少しました。
       IMREAD_REDUCED_GRAYSCALE_4 = 32//!<設定した場合は、必ず単一チャンネルのグレースケール画像に画像を変換して画像サイズが1/4に減少しました。
       IMREAD_REDUCED_COLOR_4 = 33は// 設定されている場合!<、常に3チャンネルBGRカラー画像に画像を変換して画像サイズが1/4に減少しました。
       IMREAD_REDUCED_GRAYSCALE_8 = 64は// 設定されている場合!<、常に単一チャンネルのグレースケール画像に画像を変換して画像サイズが1/8に減少しました。
       IMREAD_REDUCED_COLOR_8 = 65は// 設定されている場合!<、常に3チャンネルBGRカラー画像に画像を変換して画像サイズが1/8に減少しました。
       IMREAD_IGNORE_ORIENTATION = 128  //!<設定した場合は、EXIFの方向フラ​​グに応じて画像を回転させないでください。

 

おすすめ

転載: www.cnblogs.com/ligei/p/11496113.html