1

私は最新の OpenCV 2.4.3 Android プロジェクトでカメラを使用しており、Mat をビットマップに変換しています。私が使用しているユーティリティ メソッド (OpenCV プロジェクトで提供) では、変換を行うために Mat と同じ幅と高さのビットマップが必要です。マットの高さにアクセスすると、0 です。幅は 640 です (予想どおり、高さは 480 であると予想していました)。

Mat は連続しており、これが mat.rows() に影響することは理解できましたが、高さを変更するべきではありませんか?

コードが必要な場合: サンプル コードを見ると、カメラ アクティビティには次のメソッドがあります。

public Mat onCameraFrame(Mat inputFrame) {
    inputFrame.copyTo(mRgba);
    DoSomething(mRgba.getNativeObjAddr());
    return mRgba;
}

以下を使用して寸法を確認すると:

Log.d(TAG, "Width: " + mRgba.width() + ", Height:" + mRgba.height());

私は得る:

Width: 640, Height:0
4

1 に答える 1

0

答えは、私が電話したときです:

        mOpenCvCameraView.disableView();

これは間接的にこれを呼び出します:

    mRgba.release();

これはおそらく高さを 0 に変更します。

于 2012-12-13T17:34:11.763 に答える