首页
学习
活动
专区
圈层
工具
发布

CameraX 1.1 有哪些新的特性发布?

在示例代码中,我们创建了 ImageAnalysis 实例,为图像缓冲区指定了所需的分辨率和背压策略,并调用新的 setOutputImageFormat 方法以请求 RGBA 8888 格式的输出。...现在,ImageAnalysis输出的帧为 RGBA 8888 数据而不再是 YUV 格式。 CameraX 中 YUV 到 RGB 的转换基于 libyuv。...此外,在 CameraX 1.1 版本中数据本身可以转换到目标分辨率。在中端设备上对图像大小为 640x480 至 1080p 的数据进行转换大约需要 5~10 毫秒,具体性能因设备而异。...在已知会发生这种情况的设备上,进行 YUV 到 RGB 的转换及输出 YUV 或 RGB 都会被修复,并且 CameraX 将会持续对更多有需要的设备进行修复。...更多信息 CameraX 概览 CameraX 使用入门 Codelab CameraX Github 样例代码 Android CameraX 讨论组 希望对 CameraX 1.1 版本的简要介绍对大家有所帮助

2.1K20

一篇文章带你了解Google CameraX

借助 ImageAnalysis.Builder,应用可以进行以下配置: 图像输出参数: 格式:CameraX 可通过 setOutputImageFormat(int) 支持 YUV_420_888...默认格式为 YUV_420_888。 Resolution 和 AspectRatio:您可以设置其中一个参数,但请注意,您不能同时设置这两个值。 旋转角度。 目标名称:使用该参数进行调试。...确切的输出分辨率取决于应用请求的大小(或宽高比)和硬件功能,并可能与请求的大小或宽高比不同。...如需了解分辨率匹配算法,请参阅有关 setTargetResolution() 的文档 应用可以将输出图像像素配置为采用 YUV(默认)或 RGBA 颜色空间。...设置 RGBA 输出格式时,CameraX 会在内部将图像从 YUV 颜色空间转换为 RGBA 颜色空间,并将图像位打包到 ImageProxy 第一个平面(其他两个平面未使用)的 ByteBuffer

4.4K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android UVC Camera获取的yuv转Mat

    之后在开发过程中直接通过CameraX 可以加载这个USB摄像头。 但是有两种问题: 设备经常在使用和关闭切换过程中,出现相机错误,无法使用的问题。 摄像头发现速度比较慢。...考虑了之后,打算换个高清点的摄像头。就买了一个2K的高清USB摄像头。 结果发现CameraX发现不了设备了。 没办法,系统改不了的情况下。选择了UVC协议加载USB摄像头。...原因在哪里,原因在于我格式配置错误了。 因为我们的数据是YUV NV21也就是YUV420sp。...= null; Log.e("TAG", "YUV数据长度" + bytes.length); } //输出: YUV数据长度460800 已知我的宽高为640*480 。...完全符合输出的数组长度。 yuv 中,Y代表的亮度值,而UV是颜色值。NV21属于YUV420格式 。也就是4:2:0的关系。 每四个Y值对应一个点U和一个点V。

    1K20

    Android CameraX结合LibYUV和GPUImage自定义相机滤镜

    实现效果 image.png 实现步骤 1.引入依赖库 这里我引入的依赖库有CameraX、GPUImage(滤镜库)、Utilcodex(一款好用的工具类) // CameraX core library...(https://github.com/theeasiestway/android-yuv-utils)里面的libyuv,如下 image.png 3.编写CameraX预览代码 布局代码如下 <...,如下所示,其中ImageProxy就包含了图像数据 override fun analyze(image: ImageProxy) { } 5.对回调数据进行处理 我们在相机数据回调的方法中对图像进行处理并添加滤镜...//对图像进行旋转(由于回调的相机数据是横着的因此需要旋转90度)         yuvFrame = yuvUtils.rotate(yuvFrame, 90)         //根据图像大小创建...//对图像进行旋转(由于回调的相机数据是横着的因此需要旋转90度)             yuvFrame = yuvUtils.rotate(yuvFrame, 90)             //

    1.4K20

    CameraX初探

    起源 针对相机开发涉及专业知识多,且Camera2使用复杂等痛点,在2019年的Google I/O大会上,Google推出了一个新的Jetpack组件--CameraX,这个支持包的作用为: help...与主流手机厂商合作,通过CameraX可以使用手机厂商系统相机app独有的人像,美颜,hdr等效果 基本使用 CameraX基于Use Case进行设计,使调用者专注于需要完成的任务,而无需花时间处理不同设备的细微差别..., 目前包括三种基本用例: Preview Image Analysis Capture 不管是预览还是图像分析,图片拍摄,CameraX用例的使用都遵循一个统一的基本流程: 通过建造者模式构建Config...图像分析 通过对图像分析用例注册analyze方法(该方法每帧执行一次),我们可以获取到每一帧的图像数据。拿到图像数据后,就可以根据自己的业务进行相关操作了。...imageAnalysis.setAnalyzer(mExecutor, { image: ImageProxy, rotationDegrees: Int -> // image format -> YUV

    1.6K20

    【分享】MPSoC VCU Ctrl-SW 2020.2 输出NV12的YUV文件

    分辨率显示格式错误的现象 5.2. 3840x2160分辨率 5.2.1. x2160分辨率显示格式错误的现象 6. 未来工作 7. 参考文档 1....如果发现YUV文件的显示有问题,可以设置好分辨率,在菜单“Colour”下选择“Y”,只看其中的分量Y,当成黑白图片看。如果黑白图片是正常的,说明分量Y是对的。...输出NV12/NV16格式文件 如果Ctrl-SW能输出NV12/NV16格式的文件,Ctrl-SW就能直接对自己的文件进行编码,测试时更加方便。...分辨率显示格式错误的现象 以分辨率1920x1080显示分辨率2048x1088图片,图像混乱了。...轮廓正常,是因为对Y分量数据的解析是对的;色彩异常是因为对UV分量数据的解析是错的。 6. 未来工作 未来可以继续测试NV16的图像,也可以测试其它分辨率的图像。 7.

    67230

    Android CameraX 知识点

    前言 主要是CameraX中一些关键知识点的汇总介绍。并不会完整介绍CameraX的使用。 更多的是一些概念和注意点,以及名词介绍等内容。...关注于相机输出的图片等数据。 3....CameraX默认会使用系统最佳分辨率展示,而图片拍摄ImageCapture和图片分析ImageAnalysis模式下,默认会采用4:3的宽高比值 也就是640*480。...CameraX会针对不同的用例匹配不同的分辨率。并不是全部一致的。默认情况下 预览模式:默认最高预览分辨率。照着屏蔽分辨率进行匹配的最佳尺寸。(可以调整) 分析模式:默认分辨率为640*480。...(可以调整) 拍摄模式:默认最高可用分辨率,或与上述宽高比匹配的最高设备首选分辨率。

    2.5K20

    同时使用多个相机流 — Android 相机介绍

    文档非常详细地描述了保证工作的内容,强烈推荐完整阅读,我们在此将介绍基础知识。 输出类型 输出类型指的是帧编码格式,文档描述中支持的类型有 PRIV、YUV、JEPG 和 RAW。...格式 当选择应用程序的输出类型时,如果目标是使兼容性最大化,推荐使用 ImageFormat.YUV_420_888 做帧分析并使用 ImageFormat.JPEG 保存图像。...MAXIMUM 还指 StreamConfigurationMap.getOutputSizes(int)中相机设备对该格式或目标的最大输出分辨率。 注意,可用的输出尺寸取决于选择的格式。...例如,如果我们的目标是具有 LEGACY 硬件级别的设备,我们可以设置两个目标输出表面:一个使用 ImageFormat.PRIVATE 另一个使用 ImageFormat.YUV_420_888。...如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文在 GitHub 上的 MarkDown 链接。

    2.8K40

    【FFmpeg】SDL 音视频开发 ⑥ ( SDL 播放 YUV 视频 | YUV 4:2:0 采样 | YUV420P 格式介绍 | 获取 YUV 视频文件 | 读取并加载 YUV 画面数据 )

    -pix_fmt yuv420p 参数的作用是 该 YUV 视频的 画面分辨率是 848x480 ; 这里特别注意 , YUV 视频是 未经压缩的 视频格式 , mp4 格式的视频有 59.3MB ,...\n"); // 输出错误信息 goto _FAIL; // 跳转到失败处理 } 然后 , 打开 YUV 文件 ; // 打开YUV文件 video_fd =...video_fd ) // 如果打开失败 { fprintf(stderr, "Failed to open yuv file\n"); // 输出错误信息 goto...; // YUV格式 // YUV 视频 的 分辨率设置 int video_width = YUV_WIDTH; // 视频宽度 int video_height...\n"); // 输出错误信息 goto _FAIL; // 跳转到失败处理 } // 打开YUV文件 video_fd = fopen(yuv_path,

    50110

    音视频生产关键指标:采集预览优化丨音视频工业实战

    这里有几个建议: 1)只在确实需要使用相机的场景才向用户申请相机权限; 2)提前向用户说明申请相机权限对后续功能的必要性; 3)正式申请权限前先测试用户意愿。...1.2、错误重试与监测 如果确实遇到相机打开报错,可以重试相机打开流程。 另外,需要统计相机打开错误的细分错误码,这样就能更好的定位相机打开失败的原因进行针对性的优化。...在不同的平台,可以选择恰当的采集数据输出格式来优化内存使用: 1)iOS 采集数据输出格式 输出格式可配置为 BGRA & YUV,尽量设置为 YUV 数据格式,可以减少 width * height...1)Camera1 支持输出 YUV 或者 SurfaceTexture,如果需要算法识别则输出 YUV,不需要则直接输出 SurfaceTexture 来提高性能。...2)如果输出 YUV 数据格式,通常需要每一帧进行旋转,做图像的裁剪、缩放、旋转、尺寸变化时要注意优化性能。

    1.4K20

    MPSoC VCU调试方法和调试流程

    如果图像轮廓就时错误的,这表明Y数据就是错误的,或者分辨率的行宽是错误的,如果轮廓正确、颜色错误,这表明Y数据是对的,分辨率的高不对,或色彩格式不对。...大块的连续色彩错误,有可能是把Y数据,当成了UV数据。 Encoder 得到了正确的YUV数据后,继续使用Encoder编码。...Decoder 检查完encoder的输出,再检查decoder的输出。ctrlsw_decoder默认输出I420(YUV420)/I422(YUV422)格式的YUV输出。...如果需要,可以参考VCU Ctrl-SW 2020.2输出 NV12 的 YUV 文件,使ctrlsw_decoder输出NV12/NV16的文件。...输出后,也可以使用YUV Player 或者 YUV Player github 分支 检查解码后的YUV图像是否正确。 图像质量 如果图像质量有问题,建议使用大的显示器或电视机查看。

    1.6K20

    英特尔实验室引入全局剪辑器,提高基于 Transformer 目标检测模型对软错误的鲁棒性 !

    它们显著提高了模型对软错误的鲁棒性,并将错误推理减少到接近0%。...推理过程中的错误可能导致错误的边界框,显著改变系统行为,强调了在模型执行过程中对更安全硬件的迫切需求。...这一策略涉及到细致的平衡:在确保网络能够处理多样化的数据输入的同时,确保网络对可能导致输出重大不准确性的错误具有鲁棒性。...例如,在添加全局剪辑器后,由故障注入创建的所有错误幽灵目标都已被移除,如图2d所示。...有时,这些故障会创建置信度较低的幽灵目标,由于在PR曲线下的面积(AUC)计算[18]中排除了它们,因此不会影响整体的AP50。为了解决这个问题,采用了对PR曲线平均不敏感的IVMOD指标[18]。

    38710

    【分享】MPSoC VCU Ctrl-SW 2020.2 编码不同Stride的YUV文件

    VCU输入和输出格式 1.2. VCU内存的pitch 2. 输入文件分辨率 3. 代码 4. 测试 5. 其它 5.1....VCU输入和输出格式 Video Codec Unit(VCU) 输入和输出都是是NV12/NV16格式的视频,Y分量存放在一块连续内存区,UV分量交替存放在Y分量后面的连续内存。...比如有YUV NV12文件的文件分辨率是3840x1080,实际图像的分辨率是1920x1080。每一行的数据中,只有前面1920字节是有效图像数据,后面的1920字节是冗余数据。 3....测试 测试了输入分辨率是3840x1080的NV12 yuv文件,编码图像分辨率1920x1080,得到了正确的265文件。命令如下: ....”、选项“--stride-height”、和选项“--input-stride”,相等于在编码前对图像实现了裁剪(crop)功能。

    1.1K30

    CameraX 曝光补偿 API 入门指南

    传统操作中,摄影师通过调整如下三个参数来达到满意的曝光: 光圈: 镜片的打开程度,它控制相机的进光量 快门速度: 照片曝光的持续时间 ISO (国际标准化组织): 相机感光元件对捕获光线的敏感程度 每个参数对于图像都有特殊的作用...> } 默认情况下,曝光补偿指数的值从 "0" 开始,新的指数值必须在相机设备所支持的范围内变化。否则 CameraX 会抛出 IllegalArgument 错误。...通常,新的指数值会被迅速启用,输出流的曝光会随着 绑定用例 变化。如果应用需要知道特定请求的准确执行时间和结果,可以在函数返回的 ListenableFuture 之上注册监听器。...应用可以将相同的曝光值应用到各种相机,甚至不同的设备,来获得相似的曝光,但是应用不应该针对相同的目标效果直接使用相同的指数值,因为每个指数值是相机的专属值。...如果您有兴趣了解更多关于 CameraX 的内容,请参阅 官方文档,如果希望能够持续获得 CameraX 的最新进展,可以加入 CameraX 讨论组。

    2.2K20

    Android移动直播,自定义采集视频数据推流

    视频图像的高度 返回结果说明: 结果 说明 >0 发送成功,但帧率过高,超过了TXLivePushConfig中设置的帧率,帧率过高会导致视频编码器输出的码率超过TXLivePushConfig中设置的码率...,返回值表示当前YUV视频帧提前的毫秒数 0 发送成功 -1 视频分辨率非法 -2 YUV数据长度与设置的视频分辨率所要求的长度不一致 -3 视频格式非法 -4 视频图像长宽不符合要求,画面比要求的小了...-1000 SDK内部错误 自定义采集数据流程图 注意事项 目前sendCustomVideoData接口只支持 I420(TXLivePusher.YUV_420P)格式的视频数据。...sendCustomVideoData 方法最后两个参数是摄像机预览画面的宽度和高度,必需保持一致,不然会报出 -4 的错误。...camera2在获取摄像机预览宽高前,请先检测手机支持的分辨率,如果指定分辨率与支持的分辨率不一致,会获取到比指定分辨率小的画面,sendCustomVideoData时要以实际预览画面的宽高为准。

    5.4K102

    视频技术快览 0x0 - 图像基础和前处理

    下面图片中的一个个小方块就是像素: # 分辨率 图像(或视频)的分辨率是指图像的大小或尺寸,一般用像素个数来表示图像的尺寸。...不难看出: 像素就只是一个带有颜色的小块 分辨率越高,图像越清晰,细节越丰富 注意:对于原始图像分辨率越高确实会越清晰,但是通常见到的图像都是经过处理的,如进行缩放、或美颜,经过处理后的图像分辨率很高...这样对方使用同样的标准和 Range 才可以正确的将 YUV 转换到 RGB。 # 图像缩放算法 # 缩放的基本原理 图像的缩放就是将原图像的已有像素经过加权运算得到目标图像的目标像素。...比如,已有图像是 720P 的分辨率,称为原图像,需要放大到 1080P,称 1080P 图像是目标图像。...双线性插值其实就是三次线性插值的过程,先通过两次线性插值得到两个中间值,然后再通过对这两个中间值进行一次插值得到最终的结果 示例:是以 720P 放大到 1080P 为例,计算 1080P 图像中的目标像素点

    94020

    这是不存在的

    通常图像识别总是以特征为基础的,我们会先根据所设定的目标来提取相应的特征,用于我们后面来制定策略。不过好在现在的深度学习卷积神经网络CNN将提取特征和制定决策策略都帮我们完成了。...在使用YUVviewer工具时,发现当设置错误的分辨率来播放视频文件时会出现花屏情况。灵感来源于此,我们完全可以通过使用错误的分辨率从YUV文件中抽取帧,从而拿到花屏图片。整体流程如下: ?...从给定的YUV文件中抽取对应的帧数据,帧数据格式仍然为YUV :param filename: YUV文件路径 :param dims: YUV文件的分辨率 :param numfrm...[Vt] fp.seek(blk_size * (frmstep - 1), 1) # 跳出间隔帧 fp.close() return (Y, U, V) 这里对分辨率错误的多种情况也做了下研究...上面只是针对图片宽来进行错误干扰,可以看出宽变小花屏条纹方向是左下的,宽变大花屏条纹方向时右下的。 所以我们队宽和高分别设置不同的错误值,会造成不同类型的花屏,于是可以用这种策略构造大量的花屏。

    4.6K20
    领券