2016年10月21日のツイート

imread flags (ImreadModes) による型決定ルール

戻り値の Matの型(bit深度とチャンネル数)をどう決めるかのルール。 opencv/loadsave.cpp at master · opencv/opencv · GitHub

flags depth channels 備考
IMREAD_LOAD_GDAL 画像から決定 画像から決定 GDALがあれば
IMREAD_UNCHANGED 画像から決定 画像から決定 このフラグの値 -1 の2の補数は全ビット 1 だから他フラグと併用は無意味
IMREAD_ANYDEPTH 画像から決定、指定がなければCV_8U 以下のフラグ次第 HDR画像だとCV_32F, CV_32S。16 bit PxM, PNG 画像などは CV_16U
IMREAD_ANYCOLOR IMREAD_ANYDEPTH の有無に従う 画像次第で 3 または 1 チャンネル アルファチャンネルは消滅
IMREAD_COLOR IMREAD_ANYDEPTH の有無に従う 必ず3チャンネル 引数省略時のデフォルト値
IMREAD_GRAYSCALE IMREAD_ANYDEPTH の有無に従う 必ず1チャンネル このフラグの値は 0 なので常に併用されるのと同じ