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 回答