alpha matte以及alpha blending

2024-01-01 20:30
文章标签 blending alpha matte

本文主要是介绍alpha matte以及alpha blending,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天在阅读《Drag and Drop Pasting》这篇论文时,文中出现了alpha matte这个字眼,这个内容应该会在我下学期数字图像处理这门课中学习到,但是今天碰到了,那就先来了解一下吧。
前景蒙版(alpha matte):也称前景透明度或透明度蒙版,是前背景分离的结果,是一个灰度图,每一个像素点的灰度值表示原始图像每个像素属于前景物体的程度,即后文提到的alpha ,白色代表某一个像素确定属于前景,黑色代表某一个像素确定属于背景。
Alpha matting技术在图像中的应用主要在对象提取上面,通俗的来说,就是图像抠图。图像可以分割成一个前景对象图像F,一个背景图像B和一个alpha matte,alpha matte是我们常说的alpha通道,基于alpha 通道我们可以将前景和任意背景进行重新组合得到新的图像。因此alpha matte是和原图x相同大小的一个单通道图像,每个像素都对应于原RGB图像相同位置像素的alpha值。
在这里插入图片描述

这里I表示Image,Fij代表第i个像素下第j个通道的前景像素强度(pixel intensity),Bij代表第i个像素下第j个通道的背景像素强度(pixel intensity)。再具体一点,针对每个像素,背景颜色为B=[RB,GB,BB],前景对象颜色为F=[RF,GF,BF, α](或者F=[αRF, αGF, αBF]),于是matting方程为I=F+(1-α)×B。对于一张图片而言,由于我们只知道它的R、G、B三个通道的像素强度,因此对于每一个像素而言,我们有三个方程分别对应RGB三个通道,同时我们需要求解αi,Fij,Bij一共7个未知数。三个方程七个未知数,这是妥妥的未知数个数大于方程个数,解可以有无穷多个,属于经典的视觉研究中的反问题,难度非常的大。
参考:https://blog.csdn.net/program_developer/article/details/80008604
https://www.zdaiot.com/ImageProcessing/alpha%20matte/
alpha blending
图像的透明混合有个专属名词– Alpha Blending
对任意两张图像可以合成为一张图像,合成图像的像素取值根据数学公式:
RGB3 = (1- a) * RGB1 + a * RGB2
其中a为混合透明度取值范围[0, 1]之间, RGB3为目标像素值, RGB1与RGB2的值分别来自两张不同的图像。

这篇关于alpha matte以及alpha blending的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/560428

相关文章

Matplotlib图像读取和输出及jpg、png格式对比,及透明通道alpha设置

图像像素值 图像像素值一般size为3,也就是通道数,分别代表R,G,B,如果只有单一 一个值则表示灰度值,也就是说一张二维图片,当长和宽都为1080时,那么若是灰度图像,图像尺寸为(1080,1080,1)若是RGB图像则为(1080,1080,3), jpg、png图像格式 jpg图像的灰度值范围和RGB范围为[0,255],数值类型为uint8,也就是无符号整数 png图像的灰度值范

Kubernetes的alpha.kubernetes.io/nvidia-gpu无法限制GPU个数

问题描述: Pod.yaml文件中关于GPU资源的设置如下: 然而在docker中运行GPU程序时,发现宿主机上的两块GPU都在跑。甚至在yaml文件中删除关于GPU的请求,在docker中都可以运行GPU。 原因: 上例说明alpha.kubernetes.io/nvidia-gpu无效。查看yaml文件,发现该docker开启了特权模式(privileged:ture): 而

android xml之动画篇 alpha、scale、translate、rotate、set的属性及用法 和

1.简介 Android的补间动画TweenAnimation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》 逐帧动画 FrameAnimation(也称 Drawable Animation  ):animation-list alpha 渐变透明度动画效果 scale 渐变

Android AnimationDrawable资源 set[translate,alpha,scale,rotate]

本文内容摘自《疯狂Android讲义 第三版-李刚著作》 xml <?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:duration="1000"android:fillAfter="true"android:f

Win10 + vs2017 编译并配置tesseract-5.0.0-alpha 遇到的问题

使用的cppan安装的依赖 问题1:最大的问题是Leptonica 1.79 cppan出了问题 ,cppan.yml中是空的,导致Leptonica 1.79的依赖没有安装全。 解决方法:这个我是手动下载源码编译的Leptonica ,然后在tesseract 执行后会自动修改 CMakelist.txt 文件加入一下文件的依赖 set(Leptonica_LIBRARIES lepton

浏览器插件利器--allWebPluginV2.0.0.18-alpha版发布

allWebPlugin简介       allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品,致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX控件直接嵌入浏览器,实现插件加载、界面显示、接口调用、事件回调等。支持Chrome、Firefox、Edge、360等浏览器,接口调用友好、集成方便。为用户提供“信息化系统 + allWebPlugin

使用numpy为图像添加alpha通道;numpy为多维数组添加列

jpg图片读入后不包含alpha通道,为了能够实现透明操作,需要对其添加alpha通道。 import skimage.ioimport numpy as npimage_replace = skimage.io.imread('./McLaren.jpg')width = image_replace.shape[0]height = image_replace.shape[1]alpha_

【Unity Shader】Alpha Blend(Alpha混合)的概念及其使用示例

在Unity和图形编程中,Alpha Blend(也称为Alpha混合)是一种用于处理像素透明度的技术。它允许像素与背景像素融合,从而实现透明或半透明的效果。Alpha Blend在渲染具有透明度的物体(如窗户、玻璃、水、雾等)时非常重要。 Alpha Blend的概念: Alpha值:Alpha值是一个介于0(完全透明)和1(完全不透明)的数值,用于表示像素的透明度。混合模式:Alpha B

【Rust日报】2019-09-05:hyper 0.13 alpha 版本发布,支持 async/await

hyper 0.13 alpha 版本发布,支持 async/await hyper 0.13 alpha 版本发布,它是一个使用 Rust 编写的成熟 HTTP 库,并且是速度最快的 HTTP 库之一,同时因其正确性得到了许多人的认可。 这个 alpha 版本为 std::future::Future 提供了支持。让人兴奋的是,这意味着可以使用即将在 Rust 1.39 版本中稳定的 asyn

mongodb c++ driver 1.0.0和protobuf v3.0.0-alpha-1的几个特点.

一. mongdb c++ driver 1.0.0 a). c++11上无法工作. 编译器是gcc 4.9.1,  在client::initialize()时直接就崩了. b). long型转json的时, 带有NumberLong. 二. protobuf v3.0.0-alpha-1 a). 所有的字段都取消了has_xx函数. b). 取消了required关键字, 全部