android 对象转成byte,如何从openCV android中的Byte []获取Mat对象?

我正在使用Android中的OpenCV库。我有一个实现的类PictureCallBack。

覆盖方法onPictureTaken()如下所示,

@Override

public void onPictureTaken(byte[] data, Camera camera) {

Log.i(TAG, "Saving a bitmap to file");

// The camera preview was automatically stopped. Start it again.

mCamera.startPreview();

mCamera.setPreviewCallback(this);

// Write the image in a file (in jpeg format)

try {

FileOutputStream fos = new FileOutputStream(mPictureFileName);

fos.write(data);

fos.close();

} catch (java.io.IOException e) {

Log.e("PictureDemo", "Exception in photoCallback", e);

}

}

正如我希望图像数据可以在图像处理中进一步使用,而不是保存和重新加载图像。

从Byte数组获取Mat对象的最有效方法是什么?我已经尝试过这些方法:

不知道图像发生了什么。

Mat m=new Mat(); m.put(0,0,data);

然后转换为位图,bitmapToMat() 在这种情况下,红色变为蓝色。

在保存图像以备将来使用时,我也没有任何问题,但这导致我出现异常,因为当我使用先前存储的图像时,尚未生成文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值