@__Zsy 已简信
关于EXIF格式的分析JPEG格式和标志JPEG文件都是以十六进制的 0xFFD8 开始,以 0xFFD9 结束。在JPEG数据中,0xFF** 这样的数据被用作标志,表示JPEG信息数据段。0x...
@__Zsy 已简信
关于EXIF格式的分析JPEG格式和标志JPEG文件都是以十六进制的 0xFFD8 开始,以 0xFFD9 结束。在JPEG数据中,0xFF** 这样的数据被用作标志,表示JPEG信息数据段。0x...
@andev009 我面试的时候没怎么面算法。对音视频要求高低跟你面试的职位有关
OpenGLES滤镜开发汇总 —— 仿抖音九屏特效分屏特效中的九屏特效。纹理横向和纵向缩成三分之一再填充,不需要做裁剪处理。shader如下: 效果如下:
@平凡的人tx 如果要添加光照,需要确定光源点,需要考虑人脸不同方向的光照。估计需要模拟场景和方位,SDK给过来的参数并不一定能满足你的要求。
《Android 美颜类相机开发汇总》目录第一章 Android OpenGLES 相机预览第二章 Android OpenGLES 录制视频第三章 Android OpenGLES 给相机添加滤镜第四章 Andro...
@Toby_558c 理论上比商汤的SDK要差一点。主要是在最开始的几帧会有延迟,30ms内是可以保证。算法返回比较慢当然会影响渲染效果,至少卡顿问题不可避免。
《Android 美颜类相机开发汇总》第五章 Android OpenGLES 美颜定制实现在介绍美颜定制之前,我们先来复习一下OpenGL中图像绘制原理。OpenGL的图像绘制,是由许许多多三角形构成的。OpenGL的绘制离不开三角形的绘制。通常对于不需要对图像细...
@土贝口小土孩 看你的OpenGL处理的复杂度以及手机设备。OpenGL处理的内容多的话,帧率自然受影响,另外一个问题是,人脸关键点也会影响到帧率。如果人脸关键点检测时间过长,那怎么处理帧率都是个问题,除非你不要人脸检测。整体上你跑一下CainCamera的帧率计算一下就知道了。不同CPU不同设备的帧率是多少都可以评估。我这边已经重写过渲染流程,为了方便支持CameraX框架。
Android Camera 使用OpenGLES 渲染滤镜以及帧率优化问题说到滤镜问题,市面上所有美颜类的相机都存在各式各样的滤镜。那么我们怎么实现滤镜呢?我们首先想到,是否有相关开源项目可以参考的。iOS 下有比较著名的GPUImage是用来做滤...
@雪融消散 一个是并行化处理,一个是减少处理像素。至于怎么做混合,去看看《数字图像处理》这本书,基础知识你补一下,剩下的都是怎么应用到shader中
Android OpenGLES 实时美颜(磨皮)的优化(二)在前一篇文章Android OpenGLES 实时美颜(磨皮)的优化,我们已经介绍了关于实时美颜(磨皮)的一些优化点。但在实际的优化测试中发现,当处理器发热之后,就无法保证预...
@以梦为马_87fa 你是说前后摄像头切换?还是说同时前后摄像头开启?如果是同时开启,那估计不行,相机目前APP只能打开一个摄像头。如果说的是切换摄像头,参考一下官网的demo就好,里面包含了你想要的东西。
关于Android Camera2 API 的自动对焦的坑一、使用。关于Camera2的API使用,参考Google官方的例子:Camera2BasicCamera2RawCamera2Video这是一手资料,配合官方的资料理解Ca...
@应江娇 录像看我其他文章和我的github上的CainCamera项目,里面有你几乎所有想要的东西
Android Camera SurfaceView 预览拍照Android使用Camera API + SurfaceView 方式进行预览拍照。1、创建一个SurfaceView,并实现SurfaceHolder的回调。由于Came...
@TheKey_ 后台保持录像只能自己实现EGL渲染线程
OpenGLES + MediaCodec 短视频分段录制实现与无丢帧录制优化录制视频功能在现在的很多应用上都存有一席之地,在直播类、美颜类应用上更是不可或缺的的一部分功能。在Android中录制视频有软硬编码两种方式。软编码就是利用CPU对视频帧进行...
@独自旅行_a205 提前初始化MediaCodec、MediaMuxer,交替录制就行。
OpenGLES + MediaCodec 短视频分段录制实现与无丢帧录制优化录制视频功能在现在的很多应用上都存有一席之地,在直播类、美颜类应用上更是不可或缺的的一部分功能。在Android中录制视频有软硬编码两种方式。软编码就是利用CPU对视频帧进行...
@平凡的人tx 唇部边缘部分处理就是根据人脸关键点拿到嘴唇的几个点,利用一定的方式对其进行过滤,由于嘴唇部分动作过于复杂,比如歪嘴之类的,目前应该没太好的处理方案,你只能拟合一个近似的形状。目前市面上都没有多带动作的唇部运动做出有效的边缘处理方案,大部分都是通过mask遮罩拟合的
《Android 美颜类相机开发汇总》目录第一章 Android OpenGLES 相机预览第二章 Android OpenGLES 录制视频第三章 Android OpenGLES 给相机添加滤镜第四章 Andro...
@平凡的鱼仔 对焦你去看官方文档,写得那么明白呢
关于Android Camera2 API 的自动对焦的坑一、使用。关于Camera2的API使用,参考Google官方的例子:Camera2BasicCamera2RawCamera2Video这是一手资料,配合官方的资料理解Ca...
@feng_e9fa 你的Vertex Shader跟我的又不一样,textureCoordinate是我自己设置的,你设置成什么样,要切合你自己的shader才行
OpenGLES滤镜开发汇总 —— 仿抖音灵魂出窍滤镜观察抖音的灵魂出窍滤镜,可以看到主图像没变化,新增了一张经过缩放后的纹理,跟主图像进行一定alpha处理的线性混合得到。可以参考我写的缩放滤镜,得到fragment shad...
@oldRR 不行,连拍不是一张照片,而是多张照片连续存储
关于EXIF格式的分析JPEG格式和标志JPEG文件都是以十六进制的 0xFFD8 开始,以 0xFFD9 结束。在JPEG数据中,0xFF** 这样的数据被用作标志,表示JPEG信息数据段。0x...
@IMSk 有可能是因为多线程环境下操作了同一个纹理造成的?如果处理比较复杂的话,建议将要绘制的纹理单独绘制到一个FBO存起来,这样下一帧来临前,我已经将该FBO绑定的纹理绘制到了录制的渲染线程里面。多线程切换上下文环境切换会带来不少的坑,需要严格控制住渲染的流程时序。
OpenGLES + MediaCodec 短视频分段录制实现与无丢帧录制优化录制视频功能在现在的很多应用上都存有一席之地,在直播类、美颜类应用上更是不可或缺的的一部分功能。在Android中录制视频有软硬编码两种方式。软编码就是利用CPU对视频帧进行...
@九科门人 15年毕业转行做开发的。
Android Camera onPreviewFrame 回调造成频繁GC的问题在开发相机的过程中,本人遇到一个奇怪的Bug,在这里记录完整的调试过程。事情是这样的,公司的相机项目使用了Camera的onPreviewFrame回调取出预览数据用于人脸检...
@德松_3aaa 看书自学
OpenGLES渲染管道,顶点着色器(VertexShader) ,片元着色器(FragmentShader)着色器只能用在OpenGLES 2.X以上等可编程管道里,而在OpenGLES 1.X是不能使用的。 管线,Pipeline,显卡执行的、从几何体到最终渲染图像的、数据传输处...
@odriver 不是,在微视加班填坑
OpenGLES滤镜开发汇总 —— 仿抖音九屏特效分屏特效中的九屏特效。纹理横向和纵向缩成三分之一再填充,不需要做裁剪处理。shader如下: 效果如下:
@7cdaccb1777a 最近一直在加班修BUG填坑,真没时间写博客,估计得等我有空把后续的合成弄完才有时间再写博客了。你照着代码来看吧,关键的地方我应该都有写注释了的。
OpenGLES滤镜开发汇总 —— 仿抖音九屏特效分屏特效中的九屏特效。纹理横向和纵向缩成三分之一再填充,不需要做裁剪处理。shader如下: 效果如下:
@自由自在_0165 不太清楚你说的“参数直接在程序里面用个结构体或者类设置”是啥意思。如果说为何手动解析参数的话,一方面是规则是动态的,不同类型的贴纸有不同的json结构,并不是gson之类的工具并没有体现出更方便的解析过程。另一方面,做成库的形式,尽量不要把过多的第三方库引入,一方面是包体积问题,再者第三方库不可控。你在自己的业务里面自然不用考虑那么多东西,可以怎么方便怎么来。
《Android 美颜类相机开发汇总》第四章 Android OpenGLES 动态贴纸实现动态贴纸简介 动态贴纸是基于人脸识别SDK的一种应用。动态贴纸最常用的是二维图像,也有使用3D 图像的动态贴纸,而随着AR和三维点云技术的发展,目前的AR贴纸也流行了起来。比...