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

news2024/11/26 16:47:36

在这里插入图片描述

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

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

图片

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

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

如果只是简单的实现人像 Matting , 可以参考飞鸽传书的开源项目 ncnn_Android_RobustVideoMatting ,它使用的是腾讯的 ncnn 神经网络计算框架,ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。

VideoMatti

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1553891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超市收银系统-亿发智能收银,引领线上线下一体化新零售管理

社交新零售的传播核心在于移动互联网。从信任关系的角度来看,移动互联网为用户之间搭建了沟通的桥梁,促进了人们之间更频繁的交流,从而建立了信任关系。从场景的角度来看,移动互联网使得用户之间的沟通更加多样化,包括…

Tomcat项目创建 以及 在IDEA当中集成Tomcat

一: 有关Tomcat的WEB项目创建 TOMCAT项目的创建有两种方式, 第一种是利用骨架进行创建, 第二种是利用填补进行相应的创建, 不适用骨架进行创建 ,在这里主要聊第二种 (使用IDEA版本为2023) 1. 创建MAVEN项目, 非骨架形式 2.在相应的pom文件当中设置打包方式 为 war包的打包形…

Aino AI,一个空间数据查询和分析的应用

简介 chatgpt的出现掀起了一大波行业革命,或许也包括我们地信行业。分享一下Aino AI,一个基于AI的GIS应用。 Aino公司在今年推出了 Aino AI 助手,它可以通过自然语言的方式自动化处理空间数据,通过和OpenStreetMap的结合实现无缝…

太阳能发电园区3D可视化:揭秘绿色能源新纪元

在科技飞速发展的今天,绿色能源已成为推动社会进步的重要力量。太阳能发电作为绿色能源的重要代表,正在全球范围内掀起一股清洁能源的革命浪潮。 太阳能发电园区作为集中展示太阳能发电技术和应用的场所,其规模之大、设备之复杂,常…

#Linux系统编程(消息队列)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)什么是消息队列 消息队列是一种先进先出的队列型数据结构,实际上是系统内核中的一个内部链表。消息被顺序插入队列中&#xff…

QT QInputDialog弹出消息框用法

使用QInputDialog类的静态方法来弹出对话框获取用户输入,缺点是不能自定义按钮的文字,默认为OK和Cancel: int main(int argc, char *argv[]) {QApplication a(argc, argv);bool isOK;QString text QInputDialog::getText(NULL, "Input …

故障排查指南:通过连接电脑查找iOS应用崩溃日志的有效技巧

在iOS应用开发过程中,调试日志和奔溃日志是开发者必不可少的工具。当iOS手机崩溃时,我们可以连接电脑并使用Xcode Console等工具来查看日志。然而,这种方式可能不够方便,并且处理奔溃日志也相当繁琐。克魔助手的出现为开发者带来了…

推荐!00 后都在用的6个超实用微信小程序,又能少装N个app啦

在这个手机内存永远不够用的年代,每一次下载新app都像是在和手机进行一场心理博弈——不下载就out,下载了又怕手机喘不过气来。好在,微信小程序如同一股清流,轻巧地滑入我们的生活,解救了那些对“存储空间不足”弹窗深…

【数据结构 | 图论】如何用链式前向星存图(保姆级教程,详细图解+完整代码)

一、概述 链式前向星是一种用于存储图的数据结构,特别适合于存储稀疏图,它可以有效地存储图的边和节点信息,以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起,通过数组的方式连接(类似静态数组实现链表…

基于51单片机的汽车安全带检测控制器Proteus仿真

地址:https://pan.baidu.com/s/1To_ZEiJHBrZnm9ejYHFoPg 提取码:1234 仿真图: 芯片/模块的特点: AT89C52简介: AT89C52是一款经典的8位单片机,是意法半导体(STMicroelectronics)公…

Numpy 初体验

文章目录 第1关:Numpy 创建数组第2关:Numpy 数组的基本运算第3关:Numpy 数组的切片与索引第4关:Numpy 数组的堆叠第5关:Numpy 的拆分 第1关:Numpy 创建数组 编程要求 本关的任务是,补全右侧编辑…

查询优化-提升子查询-UNION类型

瀚高数据库 目录 文档用途 详细信息 文档用途 剖析UNION类型子查询提升的条件和过程 详细信息 注:图片较大,可在浏览器新标签页打开。 SQL: SELECT * FROM score sc, LATERAL(SELECT * FROM student WHERE sno 1 UNION ALL SELECT * FROM student…

Mybatis中QueryWrapper的复杂查询SQL

最近在使用QueryWrapper编写查询语句时发现复杂的SQL不会写。在网上找了半天,终于得到了点启示。在此做个记录以备忘。 我要实现的SQL是这样的: -- 实现这个复杂查询 -- 查询设备表 select * from oa_device where ((dev_code BSD1003 and dev_status…

系统开发实训小组作业week5 —— 用例描述与分析

目录 4.3 UC003电影浏览与查询 4.3.1 用例描述 4.3.2 活动图 4.3.3 界面元素 4.3.4 功能 4.4 UC004在线订票 4.4.1 用例描述 4.4.2 活动图 4.4.3 界面元素 4.4.4 功能 4.3 UC003电影浏览与查询 4.3.1 用例描述 用例号 UC003-01 用例名称 电影浏览与查询 用例描述…

2.9 Python缩进规则(包含快捷键)

Python缩进规则(包含快捷键) 和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号( : )来区分代码块之间的层次。 在 Python 中,对于类…

数据可视化为什么能在智慧港口中发挥作用?

随着全球贸易活动日益频繁,港口作为国际贸易的重要节点,其运营效率与智能化程度直接影响着整个物流链的效能。在此背景下,智慧港口的概念应运而生,它借助先进的信息技术手段对传统港口进行改造升级,其中,数…

1.Mysql基础入门—MySQL-mysql 8.0.11安装教程

1.Mysql基础入门—MySQL-mysql 8.0.11安装教程 摘要个人简介下载Mysql安装Mysql配置环境变量 摘要 MySQL 8.0.11的安装过程涉及几个关键步骤,首先访问MySQL官方网站下载页面,选择操作系统相对应的MySQL版本进行下载。对于Windows用户,启动下…

算法---动态规划练习-6(地下城游戏)

地下城游戏 1. 题目解析2. 讲解算法原理3. 编写代码 1. 题目解析 题目地址:点这里 2. 讲解算法原理 首先,定义一个二维数组 dp,其中 dp[i][j] 表示从位置 (i, j) 开始到达终点时的最低健康点数。 初始化数组 dp 的边界条件: 对…

主流公链 - BCH BSV BTG

为什么出现分叉 BTC是自由的,BTC社区也是自由的,自然而然的会出现不同观点的群体 1. 比特币现金(Bitcoin Cash,BCH) 分叉日期: 2017年8月1日主要目的: 提高比特币的交易吞吐量和降低交易费用技术…

简单了解原型模式

什么是原型模式 区别于单例模式,原型模式的一个类可以有多个实例化的对象。 原型模式通过拷贝来产生新的对象,而不是new,并且可以根据自己的需求修改对象的属性。 实现Cloneable接口实现拷贝 而拷贝又分为浅拷贝和深拷贝,两者在…