2012-02-28 4 views
0

を使ってAndroidの中で1つのチャネルに4チャネル行列の変換私はこのようなARGB_8888ビットマップから行列を作成しました:は、OpenCVの

Mat detectedFaceMat = Utils.bitmapToMat(bmp1); 

結果行列は4つのチャンネルを持っています。今は1つのチャネル行列と比較する必要があります。 4チャンネルを1に変換する方法がわかりません(グレースケールのみ必要です)。

+0

アルファチャンネルを使用しますか? http://stackoverflow.com/questions/3053889/how-to-convert-32-bit-rgba-image-to-grayscale-preserving-alpha – techiServices

+0

いいえ、アルファチャンネルは不要です – scoleman2272

答えて

2

OpenCVは、BGRAピクセルをグレイに変換するcv::cvtColor()またはcvCvtColor()CV_BGRA2GRAYをサポートしています。
ARGBが実際にはメモリ内のBGRAである可能性があります(これが最も一般的な形式です)。この場合、上記の変換は期待通りに機能します。

そうでなければ、グレーのかなり良い近似値としていつでも緑のチャンネルを使用できます。

+0

ありがとうございました - 私が必要としていたもの – scoleman2272

+0

喜んで助けてください。回答としてマークすることを検討してください。 –