1

在 android 中,我正在尝试使用以下代码来缩放我的垫子。

Mat destMat = new Mat(); 
Size newSize=new Size(output.width()/6.0f, output.height()/6.0f); 
Imgproc.resize(output, destMat, newSize, 0, 0, Imgproc.INTER_CUBIC);

当它尝试执行 resize 方法时,我得到以下异常。我的代码在 onCameraFrame() 中。

MatToBitmap 捕获 cv::Exception: /home/reports/ci/slave_desktop/50-SDK/opencv/modules/java/generator/src/cpp/utils.cpp:97: error: (-215) src.dims == 2 && info.height == (uint32_t)src.rows && info.width == (uint32_t)src.cols in function void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*, jclass, jlong​​, jobject, jboolean)

4

1 回答 1

0

变量“newSize”在哪里,您实际上想要 destMat 的原始大小。您可以使用 fx 和 fy 参数将其缩小。从javadocs:

resize 函数将图像 src 的大小缩小到或最大到指定的大小。请注意,不考虑初始 dst 类型或大小。相反,大小和类型是从 src、dsize、fx 和 fy 派生的。

稍后的:

// 明确指定 dsize=dst.size(); fx 和 fy 将据此计算。

于 2014-05-30T03:30:22.617 回答