jjzjj

android - 三星 Galaxy S7 (Camera2) 上的 YUV_420_888 解读

我写了一个从YUV_420_888到Bitmap的转换,考虑到以下逻辑(据我所知):总结该方法:内核的坐标x和y与Y平面(2d分配)的非填充部分的x和y以及输出位图的x和y都一致。然而,U平面和V平面的结构与Y平面不同,因为它们使用1个字节来覆盖4个像素,此外,它们的PixelStride可能大于1,此外它们可能也有一个可以与Y平面不同的填充。因此,为了让内核有效地访问U和V,我将它们放入一维分配中并创建了一个索引“uvIndex”,它给出了对应的U和V在该一维分配中的位置,对于给定的(x,y)在(未填充的)Y平面(以及输出位图)中的坐标。为了保持rs-Kernel精简,我通过Laun

android - 如何保存 YUV_420_888 图像?

我使用camera2API构建了自己的相机应用。我从示例“camera2Raw”开始,添加了YUV_420_888支持而不是JPEG。但是现在我想知道如何将图像保存在ImageSaver中!?这是我的运行方法代码:@Overridepublicvoidrun(){booleansuccess=false;intformat=mImage.getFormat();switch(format){caseImageFormat.RAW_SENSOR:{DngCreatordngCreator=newDngCreator(mCharacteristics,mCaptureResult);Fil

android - 是否可以使用 OpenGL 在 RGB888 中进行渲染?

我已经在各种设备上使用Android上的OpenGL玩了一段时间。除非我错了,否则默认渲染始终使用RGB565像素格式执行。不过,我想使用RGB888渲染更准确的颜色。GLSurfaceView文档提到了两种与像素格式相关的方法:setFormat()SurfaceHolder公开的方法,由SurfaceView.getHolder()返回GLSurfaceView.setEGLConfigChooser()方法族除非我错了,否则我认为我只需要使用后者。还是使用SurfaceHolder.setFormat()在这里相关?EGLConfigChooser的文档类提及EGL10.eglC

android - 有没有人设法使用 RenderScript 和新的 Camera API 获得 YUV_420_888 帧?

我正在使用RenderScript和Allocation从AndroidCamera2API获取YUV_420_888帧,但是一旦我从Allocation复制byte[],我只从构成帧的3个平面接收Y平面,而U和在byte[]中V平面值设置为0。我正在尝试模仿previos相机API中的onPreviewframe,以便在相机帧的应用程序处理中执行。我的分配创建如下:Type.BuilderyuvTypeBuilderIn=newType.Builder(rs,Element.YUV(rs));yuvTypeBuilderIn.setX(dimensions.getWidth());y

android - 将 YUV_420_888 转换为 JPEG 并保存文件导致图像失真

我用过ImageUtilhttps://stackoverflow.com/a/40152147/2949966中提供的类在我的git仓库中:https://github.com/ahasbini/cameraview/tree/camera_preview_imp(注意实现在camera_preview_imp分支中)实现帧预览回调。一个ImageReader设置为在ImageFormat.YUV_420_888中预览帧将转换为ImageFormat.JPEG的格式使用ImageUtil类并将其发送到帧回调。演示应用程序每50帧将回调中的一帧保存到一个文件中。所有保存的帧图像都出现扭

Android camera2 输出到 ImageReader 格式 YUV_420_888 仍然很慢

我试图让Androidcamera2在后台服务中运行,然后在回调ImageReader.OnImageAvailableListener中处理帧。我已经使用建议的原始格式YUV_420_888来获得最大fps,但是在640x480分辨率下我只能获得大约7fps。这甚至比我使用旧相机接口(interface)(我想升级到Camera2以获得更高的fps)或使用OpenCVJavaCameraView(我不能使用它,因为我需要在后台服务中运行处理)所获得的速度还要慢。下面是我的服务类。我错过了什么?我的手机是RedmiNote3运行Android5.0.2publicclassCamera

【音视频】实操YUV与RGB互转(planar模式 YUV420、YUV422、YUV444与RGB888)

前言提示:书写目的是为对YUV与RGB存储格式的了解,该代码可以直接用,也存在待优化的地方,后续优化,还请大家多多指点编译环境:LINUX下编译的,有gcc编译工具即可看图工具: 后续附上文件列表app_main.c主函数rgbtoyuv.c处理文件rgbtoyuv.h头文件Makefile编译规则1、主函数app_main.c#include#include#include"rgbtoyuv.h"intmain(){ //make_rgb24_colorbar(); char*RGBfilename="rgb888.rgb"; char*DstRGBfilename_1="dst_rgb88

android - 将 android.media.Image (YUV_420_888) 转换为位图

我正在尝试使用此处建议的camera2api实现相机预览图像数据处理:CamerapreviewimagedataprocessingwithAndroidLandCamera2API.我使用onImageAvailableListener成功接收到回调,但为了将来的处理,我需要从YUV_420_888android.media.Image获取位图。我搜索了类似的问题,但都没有帮助。能否建议我如何将android.media.Image(YUV_420_888)转换为位图,或者是否有更好的监听预览帧的方法? 最佳答案 您可以使用内置

安卓异常 : LoadedApk:forgetServiceDispatcher:888 {AdWorker #2

我的最新Android应用程序存在错误。我正在使用最新的GooglePlayServicesv.4并认为这是我在某些手机上遇到以下错误的罪魁祸首。我收到很多关于此类错误的报告:IllegalArgumentException(@LoadedApk:forgetServiceDispatcher:888){AdWorker#2}用户报告的错误详细信息是:java.lang.IllegalArgumentException:Servicenotregistered:ano@407dc868atandroid.app.LoadedApk.forgetServiceDispatcher(Loa

android - 将 Android camera2 api YUV_420_888 转换为 RGB

我正在编写一个应用程序,该应用程序获取相机信息,将其转换为rgb,以便进行一些处理。它在使用NV21Yuv格式的旧相机实现上运行良好。我遇到的问题是新的Yuv格式YUV_420_888。在发送YUV_420_888yuv格式而不是NV21(YUV_420_SP)格式的新Camera2Api中,图像不再正确转换为RGB。谁能告诉我应该如何将YUV_420_888转换为RGB?谢谢 最佳答案 Camera2YUV_420_888到Java中的RGBMat(opencv)@OverridepublicvoidonImageAvailabl