图像背景虚化

背景

在一幅摄影作品中,背景虚化可以很好地烘托主体,但是对于一些摄影爱好者来说,大光圈太贵;长焦镜头使用时限制太多;手中相机功能太低……虽条件不足,但又很想拍出主体突出、背景虚化的照片,这时候该怎么办呢?接下来本文简要介绍背景虚化的步骤。

步骤

  • 抠图得到图像的前景区域
  • 对背景使用高斯模糊,得到图层
  • 将原图前景区域叠加到第二步得到的图层对应区域

    注:第一步中,可以使用的抠图算法很多,你可以在这里寻找。

    第二步中,最好使用一些保边模糊的滤波器,这里我使用Domain Transform filter

    ##代码

% Input photograph
I = imread(‘pencils.png‘);

I = im2double(I);
IR = I(:,:,1);
IG = I(:,:,2);
IB = I(:,:,3);

% Joint image
J = imread(‘pencils_joint_depth.png‘);
J = im2double(J);
BW = im2bw(J,0.5);

% Depth-of-field Examples
sigma_s = 10;
sigma_r = 0.2;

% Edges superimposed.
F_nc = NC(I, sigma_s, sigma_r,3,J);

% Composition
Out = F_nc;
OutR = Out(:,:,1);
OutG = Out(:,:,2);
OutB = Out(:,:,3); 

OutR(BW) = IR(BW);
OutG(BW) = IG(BW);
OutB(BW) = IB(BW);

Out = cat(3,OutR,OutG,OutB);

% Show results.
figure, imshow(I); title(‘Input photograph‘);
figure, imshow(Out); title(‘Filtered photograph‘);

结果

更多阅读

http://www.g-photography.net/old/teach/news_693.html?g4

http://www.alphamatting.com/

http://www.inf.ufrgs.br/~eslgastal/DomainTransform/

时间: 2024-08-30 02:40:56

图像背景虚化的相关文章

图像处理之背景虚化

废话不多说,先上图. 原图 圆形的清晰区域 水平的清晰区域 竖直的清晰区域 嘿嘿,看上去还可以哈~~我们这里说的背景虚化呢,自然没有能力做到自动识别背景与前景的,所以只能算是一个半自动的过程:由用户来指定哪片区域是清晰的,哪片区域是模糊的,然后在清晰的区域与模糊的区域之间做一个简单的过渡. 我们在这里提供了三张模式,分别是圆形的清晰区域,竖直的清晰区域和水平的清晰区域.示意图如下所示 圆形 横向 纵向 如果你还想折腾出其他的形状,可以参考我后面的代码自己折腾一下. 这里不打算讲高斯模糊之类的东西

opencv图像处理之在手机上实现背景虚化

http://m.blog.csdn.net/blogercn/article/details/75004162 1.高端数码相机都具有背景虚化功能.背景虚化就是使景深变浅,使焦点聚集在主题上.一般的相机最好的虚拟方法便是用微距拍摄,如果主景与背景相距比较远,由于光学透镜对非焦点处景物的不能清晰成像的特点,可以免强实现类似虚化效果.如下. 2.相机拍摄背景虚化照片一般需要经过四个步骤: (1)使变焦倍率(焦距)尽可能大: (2)拍摄物与背景尽可能距离远: (3)镜头与拍摄物尽可能距离近: (4)

实现图片模糊(背景虚化)

图片模糊效果 背景虚化(模糊)的效果越来越常用,那么如何使用代码来实现呢?在上篇文章中,我们讨论了关于 CoreImage 的知识, 理所当然的,首先尝试使用 CoreImage 解决问题,从上次打印出来的所有支持的滤镜中,在 127种滤镜中,存在 Blur 关键字的,只有CIGaussianBlur(高斯模糊),,而这种模糊的致命缺陷是,会出现白边.(懂美术的同学可能知道,这是位图和矢量图的原因) 高斯模糊代码 CIContext *context = [CIContext contextWi

UIView点击事件。弹出视图,背景虚化。

@interface CountryViewController //背景 @property (strong, nonatomic) UIView *BackView; end //设置背景虚化 -(UIView *)BackView{ if (!_BackView) { _BackView = [[UIView alloc]initWithFrame:self.view.bounds]; //背景虚化 UIColor *myColor = [UIColor colorWithWhite:0.

android 中毛玻璃效果(背景虚化)的实现

搜集很多关于背景虚化的帖子, @IcyFox 的见解 : 模糊实现方案探究 1. RenderScript 谈到高斯模糊,第一个想到的就是RenderScript.RenderScript是由Android3.0引入,用来在Android上编写高性能代码的一种语言(使用C99标准). 引用官方文档的描述: RenderScript runtime will parallelize work across all processors available on a device, such as

仿网易云音乐播放器(磁盘转圈、背景虚化等等)

先看效果,CSDN的git传上去总是不动.不知道为什么. 主要思路: 1 . 除了 開始/暂停 .上一首.下一首 这三个icon.你看到的是一个ViewGroup ,这个ViewGroup里面有圆形封面.黑色圈圈磁盘.唱针,高斯模糊背景图 2. 凝视掉了磁盘一起转动的效果,如今的方案不是最好的,建议若是想实现,能够把圆形封面和磁盘合并成一张图(最好在CicicleImageView这里面做).给一个旋转动画.两个动画.两个View,帧的频率不会那么高 3.凝视掉了上一首.下一首切换的时候渐变的动

背景虚化 高斯模糊

coreImage是IOS5中新加入的一个Objective-C的框架,提供了强大高效的图像处理功能,用来对基于像素的图像进行操作与分析.iOS提供了很多强大的滤镜(Filter),现在有127种之多,随着框架的更新,这一数字会继续增加.这些Filter提供了各种各样的效果,并且还可以通过滤镜链将各种效果的Filter叠加起来,形成强大的自定义效果,如果你对该效果很满意,还可以子类化滤镜.下面将代码贴在下面,与大家分享,如果对框架不熟悉,建议阅读苹果的官方API. CIContext *cont

iOS实现图像指定区域模糊

在大多图像处理中,我们会应用到高斯模糊处理图像,通常用它来减少图像噪声以及降低细节层次.在此文中介绍了高斯模糊的实现和可选区域的模糊[美图秀秀-背景虚化] 高斯模糊的原理中,它是根据高斯曲线调节像素色值,它是有选择地模糊图像.说得直白一点,就是高斯模糊能够把某一点周围的像素色值按高斯曲线统计起来,采用数学上加权平均的计算方法得到这条曲线的色值,最后能够留下人物的轮廓,即曲线.是指当 Adobe Photoshop 将加权平均应用于像素时生成的钟形曲线.在PS中间,你应该知道所有的颜色不过都是数字

图片后期处理:将复杂的图片背景美化去除技巧

下面给大家的教程是介绍背景较为复杂的人物图片处理方法.方法是蒙版加模糊滤镜来模糊背景部分.大致过程:先把背景部分抠出来,然后用模糊滤镜模糊处理,后期再用蒙版等控制需要模糊的区域即可.原图 ? 想学更详细的 蒙版和滤镜教程,欢迎来到敬伟Photoshop经典教程! 最终效果 1.打开原图素材,用磁性套索工具勾勒出人物. 2.对未勾选到的位置用多边形套索工具0像素再选.之后对选区反选按组合键Ctrl+Shift+I. 3.添加快速蒙版,按快捷键Q键,未选取部位为红色,表示被保护区域. 4.点击渐变工