を使ってAndroidの中で1つのチャネルに4チャネル行列の変換私はこのようなARGB_8888ビットマップから行列を作成しました:は、OpenCVの
Mat detectedFaceMat = Utils.bitmapToMat(bmp1);
結果行列は4つのチャンネルを持っています。今は1つのチャネル行列と比較する必要があります。 4チャンネルを1に変換する方法がわかりません(グレースケールのみ必要です)。
を使ってAndroidの中で1つのチャネルに4チャネル行列の変換私はこのようなARGB_8888ビットマップから行列を作成しました:は、OpenCVの
Mat detectedFaceMat = Utils.bitmapToMat(bmp1);
結果行列は4つのチャンネルを持っています。今は1つのチャネル行列と比較する必要があります。 4チャンネルを1に変換する方法がわかりません(グレースケールのみ必要です)。
OpenCVは、BGRAピクセルをグレイに変換するcv::cvtColor()
またはcvCvtColor()
とCV_BGRA2GRAY
をサポートしています。
ARGBが実際にはメモリ内のBGRAである可能性があります(これが最も一般的な形式です)。この場合、上記の変換は期待通りに機能します。
そうでなければ、グレーのかなり良い近似値としていつでも緑のチャンネルを使用できます。
ありがとうございました - 私が必要としていたもの – scoleman2272
喜んで助けてください。回答としてマークすることを検討してください。 –
アルファチャンネルを使用しますか? http://stackoverflow.com/questions/3053889/how-to-convert-32-bit-rgba-image-to-grayscale-preserving-alpha – techiServices
いいえ、アルファチャンネルは不要です – scoleman2272