gpt4 book ai didi

java - 将 OpenCV mat 转换为 Android 位图

转载 作者:搜寻专家 更新时间:2023-11-01 08:26:24 26 4
gpt4 key购买 nike

我正在尝试将 OpenCV mat 转换为 android Bitmap,但这给我的图像带有蓝色调(黄色变成蓝色)!即使我没有对图像进行任何处理!我不知道为什么会这样。下面是一些相关代码:

File file = new File(imgDecodableString);
image = Imgcodecs.imread(file.getAbsolutePath(),Imgcodecs.CV_LOAD_IMAGE_COLOR);
resultBitmap = Bitmap.createBitmap(image.cols(), image.rows(),Bitmap.Config.ARGB_8888);;
Utils.matToBitmap(image, resultBitmap);
Bitmap mResult = resultBitmap;
ImageView imgView = (ImageView) findViewById(R.id.imgView);
imgView.setImageBitmap(mResult);
//imgView.setImageBitmap(BitmapFactory.decodeFile(imgDecodableString));

我是 Android 应用程序开发的新手,所以我可能会遗漏一些简单的东西。感谢您的帮助!

编辑:

我正在上传图片以供引用。

Original image

Image I am getting

最佳答案

根据给定的建议,我制作了一个将 Mat 转换为 Bitmap 的函数。此功能完美运行。!

private static Bitmap convertMatToBitMap(Mat input){
Bitmap bmp = null;
Mat rgb = new Mat();
Imgproc.cvtColor(input, rgb, Imgproc.COLOR_BGR2RGB);

try {
bmp = Bitmap.createBitmap(rgb.cols(), rgb.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(rgb, bmp);
}
catch (CvException e){
Log.d("Exception",e.getMessage());
}
return bmp;
}

关于java - 将 OpenCV mat 转换为 Android 位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44579822/

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