实现实时抠像算法 color key ,可抠发丝,4K视频实时处理

Demo 下载链接:http://pan.baidu.com/s/1o8fyujo 密码:x1yl

如图,左边是源图像,右边是抠像后叠加背景后的最终效果

仅仅抠像,不解码,1080p 一帧处理下来需要5ms(单核), 4K一帧 20ms (单核)。本人CPU为i5-4460

抠像程序C++写的, 基于CPU, 不依赖其它库, 源数据支持YUV420 BGR24 , YUV422


另外,CUDA加速后的程序也写出来了,CPU拷贝到GPU需要4ms  GPU拷贝到CPU需要12ms左右,中间抠像过程几乎不耗时,CPU和GPU之间拷贝数据太慢了, 所以不建议用GPU做, 这个只在我自己机器上测试通过了,其它还没测试过,OPENGL版本也可以适配!!

抠像算法原理

image

其中F表示前景色,B表示背景色(已知),C表示当前颜色(已知),α则表示不透明度, 其中F,B,C 都是值为为RGB的三维向量

抠像的目的就是求出F 和 α 

根据这个公式,我们可以得到两个公式,进而衍生出两大类的抠像算法

公式1,   F = ( C-(1-α)B )/ α   即我们可以通过估计不透明度α来估计前景像素F

公式2, α = (C-B)(F-B) / |F-B|2     即我们可以估计前景像素F 来计算不透明度α    具有代表性的是贝叶斯抠像     http://www.cnblogs.com/ubunoon/archive/2011/09/25/2190484.html


寻求合作联系:QQ 3509909242











ffmpeg解码+ 多线程抠像 + yuv420p转bgr+显示  CPU使用情况   (本人CPU为i5-4460



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011258240/article/details/76092140
个人分类: opencv
上一篇SIP笔记
想对作者说点什么? 我来说一句

抠像算法C++

2015年05月08日 1.91MB 下载

蓝布抠像算法

2015年03月05日 3.26MB 下载

没有更多推荐了,返回首页

关闭
关闭