0

最近OpenCVを勉強しています。

OpenCV for Android サンプルコード(2.4.6)をテストしました。

私はいくつかの不思議があります。

サンプルコード (OpenCV Sample - face-detection) で顔を検出できます。ただし、Android端末のポートレートモード(縦モード)では顔を検出できません。

まず、ポートレートモードでフロントカメラを設定してみます。

// onCameraFrame() メソッドにコードを追加。

Core.flip(mRgba、mRgba、1);

まだ顔を認識していません。

ポートレートモードで顔を検出するには?

ありがとうございました。

4

2 に答える 2

1

転置してから反転する必要があります:

            int height = mGray.rows();
            int faceSize = Math.round(height * 0.5F);

            Mat temp = mGray.clone();
            Core.transpose(mGray, temp);
            Core.flip(temp, temp, -1);

            MatOfRect rectFaces = new MatOfRect();

            // java detector fast
            mCascade.detectMultiScale(temp, rectFaces, 1.1, 1, 0, new Size(faceSize, faceSize), new Size());
于 2013-10-10T14:55:13.377 に答える