当前位置: 首页 > news >正文

【Camera开发】疑难杂症记录

请添加图片描述

camera2+surfacetexture

出现视频流比较模糊问题分析

如果不设置默认大小:
例如

 mSurfaceTexture?.setDefaultBufferSize(720,960)

会出现画面糊的很厉害的状况。

原因如下:

当你不主动调用 setDefaultBufferSize(width, height) 时,SurfaceTexture 会使用一个 系统默认的缓冲区尺寸(通常是较小的尺寸,比如手机屏幕分辨率的 1/4,或固定的低分辨率如 320x240,具体依赖系统版本和图像源)。
此时若你的实际渲染需求(比如相机预览分辨率、视频解码分辨率是 720x960)远大于这个默认缓冲区尺寸,就会触发 “强制缩放”,过程如下:
图像源输出高分辨率数据:比如相机按 720x960 输出图像(16:9 或自定义比例);
缓冲区尺寸不足,强制压缩:SurfaceTexture 的默认缓冲区尺寸很小(比如 320x240),无法容纳 720x960 的完整数据,系统会先将 720x960 的图像 压缩到 320x240(像素被合并,细节丢失);
渲染时再拉伸回目标尺寸:最终显示的 TextureView/SurfaceView 可能需要按原 720x960 尺寸显示,系统又会将压缩后的 320x240 图像 拉伸回 720x960(像素被插值放大,边缘模糊)。
简单说:高分辨率图像先被 “压小”(丢细节),再被 “拉大”(补假像素),最终画面自然模糊。

在这里插入图片描述

http://www.dtcms.com/a/394053.html

相关文章:

  • 如何提高自己的Java并发编程能力?
  • Polkadot - ELVES Protocol详解
  • springBoot图片本地存储
  • 蝉镜-AI数字人视频创作平台
  • Linux入门(五)
  • MySqL-day4_03(索引)
  • Vue 深度选择器(:deep)完全指北:从“能用”到“用好”
  • [Nodejs+LangChain+Ollama] 1.第一个案例
  • 设计模式2.【备忘录模式】
  • Spring Boot 入门:快速构建现代 Java 应用的利器
  • Redis 实例 CPU 飙高到 90%,如何排查和解决?
  • 中国女篮备战全运会,宫鲁鸣重点培养年轻核心
  • 【Qt】常用控件1——QWidget
  • 9.21关于大模型推理未来的思考
  • 如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘uvicorn’ 问题
  • 变分自编码器(VAE):生成模型的另一条技术路线
  • 【LVS入门宝典】LVS NAT模式实战指南:ip_forward、iptables与SNAT、DNAT规则配置详解
  • 【Android】BottomSheet的三种使用
  • Spring MVC 九大组件源码深度剖析(八):RequestToViewNameTranslator - 视图名转换的奥秘
  • 在Linux环境下安装和卸载DMETL5数据迁移工具
  • 《计算》第五六章读书笔记
  • daily notes[47]
  • 模电基础:放大电路的分析方法---图解法
  • Windows10系统Web UI自动化测试学习系列1--介绍(序章-万事开头难)
  • 安装vllm的艰苦过程
  • 探索 Event 框架实战指南:微服务系统中的事件驱动通信:
  • FPGA超高速接口GTP_GTY_GTX使用说明
  • Blender常用第三方插件总结
  • Kurt-Blender零基础教程:第2章:建模篇——第3节:陈列/父子级/蒙皮/置换修改器与小狐狸角色建模
  • npm启动项目报错“无法加载文件……”