草庐IT

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

android - 通过 fragment 着色器将 YUV 转换为 RGB

我在将Android中的相机预览从YUV格式转换为RGB时遇到了问题。转换的目的是应用一些效果。我尝试通过fragment着色器进行转换,因为通过native代码进行的转换速度很慢(大约14fps)。我使用的引用是http://jyrom.tistory.com/m/post/view/id/187.我尝试将此代码移植到Android平台,但结果是黑绿色矩形。但是,我可以通过我得到的输出来观察某种形式。你能帮我解决这个问题吗?我相信这是一个普遍的问题:将效果应用于相机预览。我还提供了我的测试项目的链接:https://dl.dropbox.com/u/12829395/applicat

android - camera2 api 将 yuv420 转换为 rgb 绿色输出

我尝试将图像从YUV_420_888转换为rgb,但我在输出图像时遇到了一些问题。在ImageReader中,我获取格式为YUV_420_888的图像(使用camera2api获取此图像预览)。imageReader=ImageReader.newInstance(1920,1080,ImageFormat.YUV_420_888,10);在androidsdk中为YuvImage类编写,即YuvImage只使用了NV21、YUY2。我们可以看到N21和yuv420之间的差异不大,我尝试将数据转换为N21YUV420:和N21:在onImageAvailable中,我分别获取每个Pla

android - 如何使用 ScriptIntrinsicYuvToRGB(将 byte[] yuv 转换为 byte[] rgba)

我有byte[]yuvByteArray(从Camera.PreviewCallback.onPreviewFrame方法捕获的540x360图像并转储到assets/yuv.bin文件中)。我想转换byte[]yuv至byte[]rgba数组,使用以下代码(基于LivePreviewandroid示例)。但我收到outBytes在forEach之后用零填充的rgba数组并复制out分配给outBytes。我的代码有什么问题?packagehellorender;importandroid.app.Activity;importandroid.content.res.AssetMana

【音视频】实操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)转换为位图,或者是否有更好的监听预览帧的方法? 最佳答案 您可以使用内置

android - 如何使用Android MediaCodec编码Camera数据(YUV420sp)

感谢您的关注!我想使用AndroidMediaCodecAPI对从相机获取的视频帧进行编码,不幸的是,我没有成功做到这一点!我对MediaCodecAPI还是不太熟悉。以下是我的代码,我需要你的帮助来弄清楚我应该做什么。1、相机设置:Parametersparameters=mCamera.getParameters();parameters.setPreviewFormat(ImageFormat.NV21);parameters.setPreviewSize(320,240);mCamera.setParameters(parameters);2、设置编码器:privatevoid

c++ - sws_scale YUV --> RGB 失真图像

我想将YUV420P图像(从H.264流接收)转换为RGB,同时调整它的大小,使用sws_scale.原始图像的大小为480×800。只需使用相同的尺寸进行转换即可。但是,当我尝试更改尺寸时,我得到了一个扭曲的图像,具有以下模式:更改为481×800会产生扭曲的黑白图像,看起来像是在中间被切掉了482×800会更加扭曲483×800变形但有颜色484×800可以(正确缩放)。现在遵循此模式-缩放仅在除以4之间的差异时才能正常工作。这是我解码和转换图像的方式的示例代码。所有方法都显示“成功”。intsrcX=480;intsrcY=800;intdstX=481;//or482,483e