Matlab和OpenCV4Android - 不同的Mat尺寸

时间:2017-12-11 11:02:45

标签: android matlab opencv opencv4android

我应该将一段代码从Matlab翻译为OpenCV4Android

此代码的一部分采用RGB图像并将其拆分。

当我运行Matlab应用程序时,我可以看到每个分割通道的类型为uint8,尺寸为 376x640 。在这种情况下,图像由imread加载,并通过简单的矩阵运算进行分割:

input_im = imread('Field.png');
R = input_im(:,:,1);
G = input_im(:,:,2);
B = input_im(:,:,3);

enter image description here

当我运行Android应用程序时,在分割图像后(首先是RGBa,无所谓),我得到的每个频道都是CV_8UC1类型(应该等同于uint8 ,如果我说得对,但是尺寸是1128x1920(它将原始尺寸乘以3倍)。原始图片具有相同的尺寸,但类型为CV_8UC4。该图片已预先加载到ImageView,并已转换为Mat

private Bitmap mBitmap;
private Mat mImToProcess;
// ...
mBitmap = ((BitmapDrawable) mImageView.getDrawable()).getBitmap();
Utils.bitmapToMat(mBitmap, mImToProcess);
// ...
List<Mat> chans = new ArrayList<>(mImToProcess.channels());
Core.split(mImToProcess, chans);

enter image description here

我想现在是什么让这个与众不同? 是否可以在我的Android应用程序中使用与Matlab应用程序类似的维度。

0 个答案:

没有答案