gpt4 book ai didi

android - 用opencv处理Android图像

转载 作者:行者123 更新时间:2023-12-02 17:53:29 24 4
gpt4 key购买 nike

我有这个代码:

protected Bitmap processFrame(byte[] data) {
Mat mat = new Mat(mFrameHeight, mFrameWidth, CvType.CV_8UC3);
mat.put(0, 0, data);

//process mat with native code

Utils.matToBitmap(mat, mBitmap);

return mBitmap;
}


private Camera.PreviewCallback previewCallback = new Camera.PreviewCallback() {

public void onPreviewFrame(byte[] data, Camera camera) {
Bitmap bmp = processFrame(data);

if (bmp != null) {
//draw bmp
}
}
};

在某些时候,我将位图定义为:
mBitmap = Bitmap.createBitmap(mFrameWidth, mFrameHeight, Bitmap.Config.RGB_565);

结果是捕获了相同的相机帧,但是在水平方向上重复了3次灰度,我尝试了CvType.CV_8UC4,然后将它们重复了4次。

我需要使用相同的步骤显示整个图像

有人发现错误了吗?

最佳答案

刚刚改变了这种方法..就解决了..

protected Bitmap processFrame(byte[] data) {

Mat mYuv = new Mat( mFrameHeight + mFrameHeight/2, mFrameWidth, CvType.CV_8UC1);
mYuv.put(0, 0, data);

Mat mRGB = new Mat();

Imgproc.cvtColor(mYuv, mRGB, Imgproc.COLOR_YUV2RGB_NV21, 3);

ProcessFrame(mRGB.getNativeObjAddr(), mRGB.width(), mRGB.height());

Utils.matToBitmap(mRGB, mBitmap);

return mBitmap;
}

关于android - 用opencv处理Android图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com