java - 如何将 YUVImage 大小调整为 JPG?
问题描述
我Image
从解码器中得到一个YUV_420_888
格式。
我在这里了解到我可以将其转换为 NV21,这样使用:
Rect cropRect = myImage.getCropRect();
YuvImage yuvImage = new YuvImage(convertToNV21(myImage),
ImageFormat.NV21,
cropRect.width(),
cropRect.height(),
null);
yuvImage.compressToJpeg(cropRect, 100, jpegDataStream);
这样我就有了正确的 JPG 数据jpegDataStream
。
convertToNV21
函数使用图像的平面进行操作,并进行大量移动,并大量使用getRowStride
and getPixelStride
(如果您提出要求并认为它对更好的帮助有用,我可以分享它)。
我的愿望是获得分辨率较低的 JPG ,因此我需要调整图像大小。
我很清楚如何通过首先将其转换为位图 -> 调整大小 -> 转换回 JPG 来调整 JPG 的大小,但感觉开销太大。
我是否有更简单的方法可以compressToJpeg
轻松有效地调整 YUVImage 的大小?
解决方案
推荐阅读
- javascript - 当我在 Nodejs+Express 中使用护照进行用户身份验证时发生了奇怪的事情
- java - 如何从 Java 中 owl 类的“等效于”部分中定义的类表达式中检索对象属性?
- javascript - 为什么我不能在更新其值时重新使用 SessionStorage?
- kubernetes - 如何检查 kubernate 集群中节点上的空间问题
- python - Google OAuth 客户端使用 json 文件中的错误 project_id - Python
- python - 优化算法
- javascript - 在 GCP 函数中使用 Telegram 数据库库 (TDLib) 或通过 JavaScript 使用 AWS Lambda
- python - 我正在尝试更新数据,但它没有在数据库中更新
- javascript - js: element.className 不起作用(创建暗模式)
- java - 如何使用毕加索显示来自 json api wordpress 的图像?