OpenGL 实现“人像背景虚化“效果

在这里插入图片描述

手机上的人像模式,也被人们称作“背景虚化”或 ”双摄虚化“ 模式,也称为 Bokeh 模式,能够在保持画面中指定的人或物体清晰的同时,将其他的背景模糊掉。突出画面的主体部分,主观上美感更强烈。

人像模式的一般实现原理是,利用双摄系统获取景深信息,并通过深度传感器和图像分割技术准确分离主题与背景,随后应用人像增强处理和背景虚化算法,例如美颜、肤色优化以及基于深度信息的虚化等,最终提供清晰突出的人像照片。

图片

所以,人像模式的实现对于软件层面来说,关键还是有能精确输出带有深度(景深)信息的图像分割算法。

随着深度学习的发展,现在已经可以做到通过单个摄像头,推测场景的深度图,推荐一个 Deep-Image-Matting 开源模型:
https://github.com/foamliu/Deep-Image-Matting

如果只是简单的实现人像 Matting , 可以参考飞鸽传书的开源项目 ncnn_Android_RobustVideoMatting ,它使用的是腾讯的 nc

人像模式与AI虚化效果原理与实现(OpenGL、shader GLSL) 本文将分析AI人像虚化效果,对比几款主流手机产品的人像模式效果,并尝试使用OpenGL/GLSL来实现虚化渲染。 阅读详情

相关推荐

【OpenGL编程】虚化模糊场景(类似摄像机的人像效果)

说在开头 最近研究了一个基于高斯函数的模糊效果的Demo,主要是为了完成场景的虚化效果,也就是距离摄像机较近的地方比较清楚,距离较远的地方比较模糊。整个案例的代码都可以在我的github上找到https://github.com/ModestBean/MyBlur如果感到对您有帮助还请点一个star。当然我这里使用的开发环境时Java和SDK(因为这是我一个早期开发的案例,当时还没有接触C++)...

尹豆的博客 2387

Android计算摄影实战:PhotonCamera开源框架构建实时图像处理管线

计算摄影(Computational Photography)是移动影像领域的核心技术,它通过算法对多帧图像数据进行融合与优化,突破硬件传感器的物理限制。其原理在于利用计算机视觉和图像处理技术,在拍摄瞬间完成过去需后期软件才能实现的复杂调整。这项技术的核心价值在于将专业级影像能力普及到移动设备,极大提升了手机摄影的成像质量与创作空间。在应用场景上,它广泛用于实时HDR、人像模式、夜景增强和超分辨率等。本文以PhotonCamera开源框架为例,深入探讨如何通过构建自定义的实时图像处理管线,在Android平

weixin_30856725的博客 394

ArcGIS搞“背景虚化”

处理好工作范围的数据,这个可以是栅格数据,也可以是矢量数据,要和背景图层叠加显示,我们就从背景图层中,裁剪出工作范围的栅格数据——ArcMap是有滤镜功能的,只是它的滤镜并不是软件的重点,所以很难引起注意,我们这次讲的“背景虚化”,就要用到滤镜功能啦!同样,这个处理一次之后,可以对新处理的图层再进行模糊处理,直到你对效果满意为止,调好底色,上成果——实现背景虚化,我们主要用到的是其中的“模糊”处理,巧了么不是,也叫“模糊”!处理好背景图层——可以是地图影像,也可以是其他栅格数据,总之,

JData_Engineer的博客 649

抖音、视频号流行的 Bokeh(虚化) 效果是怎么实现的?

Bokeh 效果是指照片中背景模糊而主体清晰的一种摄影效果。这种效果是通过使用大光圈的镜头来实现的,使得光圈外的景物失去焦点,呈现出一种柔和、虚化的效果。

字节流动 4万+

第16章 实时虚化渲染

实时虚化渲染

修行之路 11

聚类模型-层次聚类

聚类模型 1、层次聚类 2、原型聚类-K-means 3、模型聚类-GMM 4、EM算法-LDA主题模型 5、密度聚类-DBSCAN 6、图聚类-谱聚类 一、层次聚类 一、聚类理论 ​ 一般来说,聚类是在训练样本的标签信息不知的情况下,学习样本内在的性质和规律,将有限的集合划分成ccc类。根据“方以类聚,物以群分”的思想,类内对象尽可能的相似,...

myazi 6504

Visual SLAM算法笔记

最近在学习SLAM算法,这里作为阅读笔记记录和总结一下。对经典的单目SLAM/VO算法做了摘要和总结,比如Nister VO、MonoSLAM、PTAM、ORB-SLAM、LSD-SLAM、SVO、DSO等,对几个单目和IMU的融合算法也做了简单总结,比如MSCKF、OKVIS、IMU-Preintegration等。

MulinB的技术博客 3万+

Fast DDS源代码走读

DDS, PDP, EPD, DataWriter, DataReader

weixin_43082062的博客 713

Tesseral 建立地震模型

0. 前言 本节内容主要是总结如何使用 Tesseral 工具建立模型。 1. 模型建立步骤 设置模型的宽度和深度 此处默认都为1000,之后点击“确定” 建立地层 绘制新的地层 右键点击“New polygon” 绘制地层,设置第二个层的名字和纵波速度 绘制第三层,第三层覆盖在前一个层上 第四层如上,第四层如果是最后一层,绘制该层时,要将深度1000包围。 设置观测系统 设置炮点 设置子波为雷克子波,频率设置为30 检波点设置 运行模型 设置好如上选择后,

weixin_41857483的博客 6539

SAP FICO实操:如何修改已发生业务数据的成本中心公司代码(附RKACOR06程序运行指南)

本文详细解析了SAP FICO系统中使用RKACOR06程序修改已发生业务数据的成本中心和公司代码的实操方法。通过实战案例分享,提供从前期准备到后期验证的全流程指南,帮助企业应对组织架构重组或财务核算体系调整时的数据迁移挑战,特别适用于跨公司代码的成本中心划转场景。

weixin_27303545的博客 189

JESD204B系统设计实战:如何用SYSREF信号搞定多设备时钟同步(附时序图详解)

本文深入探讨了JESD204B系统中SYSREF信号在多设备时钟同步中的关键作用与实现技巧。通过详细分析SYSREF信号的生成、PCB布局和时序调整,提供了一套完整的解决方案,帮助工程师解决高速数据转换器与FPGA协同工作中的时钟同步问题。文章还包含时序图详解和实测调试技巧,助力提升系统性能。

weixin_29313239的博客 454

微信小程序|基于小程序+云开发制作一个菜谱小程序

今天吃什么?这是一个让强迫症左右为难的问题,跟随此文基于小程序+云开发制作一个菜谱小程序,根据现有食材一键生成菜谱,省心又省力。

商务合作 / 项目定制 / 学习交流。个人vx:lovely_wml 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: OpenGL ES 3.0 从入门到精通系统性学习教程
下一篇: OpenGL ES 面试高频知识点
字节流动
字节流动 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 嵌入式与硬件开发技术领域 领域专家: 嵌入式与硬件开发技术领域
博客等级 码龄11年 1912粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

字节流动

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值