A Global Sampling Method for Alpha Matting笔记
来源:互联网 发布:java调用方法格式 编辑:程序博客网 时间:2024/05/24 05:18
简介
本篇主要A Global Sampling Method for Alpha Matting论文的笔记记录。
具体实现
输入:1、原图src 2、掩码图mask(0为背景,128未知区域,255为前景) 1、expansionOfKnownRegions 根据前后景图像与周围未知区域的颜色、强度相关性,对图像掩码mask做一定程度的前后景扩散,然后腐蚀。 2、找到前景掩码和未知区域边界位置,存入:foregroundBoundary 找到背景掩码和未知区域边界位置,存入:backgroundBoundary 3、随机生成:foregroundBoundary.size + backgroundBoundary.size个坐标点,如果该坐标位置掩码为前景或者背景, 则将该点坐标对应放入foregroundBoundary或者backgroundBoundary。 4、根据foregroundBoundary和backgroundBoundary中存放坐标点对应src图像信息强度,从小到大,对坐标点进行排序。 5、遍历全图未知区域,分别计算每个未知区域点和foregroundBoundary、backgroundBoundary的最小坐标距离平方差。 并随机生成(rand() % foregroundBoundary.size(), rand() % backgroundBoundary.size()).全部存入到samples中。 6、建立数组二维coords,存入src图像坐标从(0,0)到(h,w)存入。 7、循环10次: 7.1、将coords存的坐标数据随机打乱从排。 7.2、循环coords.size()次,每次取出mask[coords[i].x, coords[i].y]数据,如果mask不是未知区域(128),直接进入下一次循环。 7.3、未知区域则取出src该点像素与samples该点参数(s1)。 7.4、以(coords[i].x, coords[i].y)为中心的3x3矩形遍历。 (1)如果矩形中对应位置mask为128,取出该点samples值(s2)。 (2)获取到对应前景背景像素值:src(foregroundBoundary[s2.fi]);src(backgroundBoundary[s2.bj]); (3)根据当前原地坐标,及取到的前后背景点坐标,论文公式求出alpha,并根据该alpha,求出cost值。 (4)如果s1中没有存储cost或者cost大于当前cost,则更新当前s1中的fi,bj,cost和alpha值。 7.5、循环src.h*src.w组,每组循环k次。 (1)随机生成fi,bj。得到F src(foregroundBoundary[fi]), B src(backgroundBoundary[bj])。 (2)根据每组当前点像素I,以及每次获取到的F,B,计算出alpha,并根据该alpha,求出cost值。 (3)如果s1中没有存储cost或者cost大于当前cost,则更新当前s1中的fi,bj,cost和alpha值。 8、遍历整个掩码图像,如果mask为未知区域(128),则更新该点像素值为:255 * samples[y][x].alpha。 进而得到最终的抠图alpha掩码。
效果显示
阅读全文
0 0
- A Global Sampling Method for Alpha Matting笔记
- 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
- 图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
- A sampling method for you all:RWO SAMPLING
- Alias Method for Sampling
- Alias Method for Sampling
- 什么是alpha matting?
- Alpha Matting Evaluation
- A closed form solution to natural image matting。《Computer Vision for Visual Effects》讲解笔记。
- 论文笔记:A Global Covariance Descriptor for Nuclear Atypia Scoring in Breast Histopathology Images
- E Commerce- a blessing for Global Sourcing
- Create a global table for LUA stack
- GIBBS SAMPLING FOR THE UNINITIATED 的学习笔记
- matting
- Matting
- matting
- Matting
- 论文笔记:Deep Image Matting
- 【软测】Bug基础知识
- 2017.10.23
- 【bzoj1951】【古代猪文】Lucas定理+欧拉定理+孙子定理
- C++ Primer知识系列一:预备知识、数据及基本类型
- Map接口源码分析
- A Global Sampling Method for Alpha Matting笔记
- JNDI连接配置
- Lintcode 109.数学三角形
- json对象
- Java SE、Java EE和Java ME有什么区别
- day12网络编程
- Linux下安装mysql
- JVM 堆内存设置原理
- javaSE之第2讲 静态的应用