我在最新的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
答案 0 :(得分:0)
答案是,当我打电话时:
mOpenCvCameraView.disableView();
间接地称之为:
mRgba.release();
可能会将高度改为0.