山东建筑大学蓝幕绿幕图像自动抠图与背景更换的实现.docx
《山东建筑大学蓝幕绿幕图像自动抠图与背景更换的实现.docx》由会员分享,可在线阅读,更多相关《山东建筑大学蓝幕绿幕图像自动抠图与背景更换的实现.docx(9页珍藏版)》请在冰豆网上搜索。
山东建筑大学蓝幕绿幕图像自动抠图与背景更换的实现
课程设计说明书
题目;蓝幕/绿幕图像自动抠图与背景更换的实现课程:
数字图像处理课程设计
院(部):
信息与电气工程学院
专业:
电子信息工程班级:
电信17学生姓名:
学号:
2017081030
指导教师:
张运楚、杨红娟、张君捧
完成日期:
2020.6.18
摘要
蓝幕/绿幕技术又叫做色度键技术,简单地说,它是通过在同一色彩的蓝色或绿色背景上拍摄物体,然后通过背景色彩特殊的色调信息加以区分前景和背景,从而达到自动去除背景保留前景的目的,广泛用于广播电视的动态背景合成以及电影和摄影创作中。
关键词:
色度键技术;蓝幕/绿幕技术;图像处理;
一、设计要求
1.根据设计要求分析蓝幕/绿幕图像中去除背景的关键问题,掌握基于彩色图像分割的自动抠图和背景更换方法,说明设计原理和步骤。
画出流程图,编写
实现程序,并进行调试,完成系统软件设计。
2.基本教学要求:
每人一台计算机,计算机安装matlab、visio等软件。
二、设计步骤
1.理论依据
颜色模型、彩色分割技术。
2.方案设计
选择合适的颜色,采集蓝幕或绿幕背景像素样本点,对背景进行统计建模,然后完成背景和人物任务的分割。
然后用指定的图像更换蓝幕或绿幕背景。
画出流程图,并对各部分功能进行说明。
建议使用Visio等软件绘制框图。
3.程序设计
根据设计要求及系统流程图,进行程序设计,编写实现程序,使用Matlab等软件。
4.程序调试
对编写的软件程序,以测试图像为例进行调试,根据结果,完善程序功能。
并以自选视频图像进行验证。
三、设计内容
3.1打开要处理的图片内容
[filename,pathname]=uigetfile({'*.jpg';'*.png';'*.tif'},'选择图片');
file1=[pathname,filename];
globalF;
F=file1;
x=imread(file1);
axes(handles.axes1);
imshow(F);%打开要抠的图
3.2对图片进行抠图
globalF;
globalgcolor;
I=imread(F);
figure,imshow(I);
Id=double(I);
%交互获取样本,移动鼠标单击左键在图像蓝色背景上选点形成封闭多边形,
%然后单击鼠标右键,弹出菜单,选择“CreateMask”
mask=roipoly(I);
%得到彩色图像的RGB三个颜色分量
redplane=I(:
:
1);
greenplane=I(:
:
2);
blueplane=I(:
:
3);
%得到所有样本像素的RGB三个颜色分量
xR=redplane(mask);
xG=greenplane(mask);
xB=blueplane(mask);
%ConcatenateR,G,Bcomponentarraysalongcolumndimensionformsampledatamatrix
X=cat(2,xR,xG,xB);
X=double(X);
%得到样本像素的数量K
[K,n]=size(X);%el
%计算样本像素的均值向量M和协方差矩阵C
%Computeanunbiasedestimateofmean.Misarowvectorhere.
M=sum(X,1)/K;
%SubtractthemeanfromeachrowofX.
X=X-repmat(M,K,1);
%ComputeanunbiasedestimateofcovariancematrixC.
%NotethattheproductisX'*XbecausethevectorsarerowsofX.
C=(X'*X)/(K-1);
%DeterminethethresholdusingcovariancematrixC.
%TEisusedforEuclideandistance
d=diag(C);
sd=sqrt(d);
TE=3*max(sd);
%避免阈值过小
ifTE<150
TE=150;
end
%采用上述参数,采用欧氏距离对彩色图像分割,“扣取”前景目标
%获取图像的高、宽
[Height,Width,Q]=size(I);
%初始化分割结果变量
%二值图像,背景像素值=0,前景像素=1
gmask=false(Height,Width);
%彩色图像,背景像素RGB各分量值=127,前景像素与源输入图像同
gcolor=uint8(127*ones(Height,Width,3));
sqTE=TE*TE;
%
forx=1:
Height
fory=1:
Width
sqdist=(Id(x,y,1)-M
(1))^2+(Id(x,y,2)-M
(2))^2+(Id(x,y,3)-M(3))^2;
if(sqdist>sqTE)
%该像素为前景
gmask(x,y)=1;
gcolor(x,y,:
)=I(x,y,:
);
end
end
end
%显示处理结果
axes(handles.axes1);
imshow(gcolor);%抠图
3.3打开背景图
[filename,pathname]=uigetfile({'*.jpg';'*.png';'*.tif'},'选择图片');
file2=[pathname,filename];
globalS;
S=file2;
x=imread(file2);
axes(handles.axes2);
imshow(S);%打开背景图
3.4更换背景
globalF;
globalS;
globalgcolor;
INEW=imread(S);
[Height,Width,Q]=size(gcolor);
forx=1:
Height
fory=1:
Width
if~(gcolor(x,y,1)==127&&gcolor(x,y,2)==127&&gcolor(x,y,3)==127)
INEW(x,y,:
)=gcolor(x,y,:
);
end
end
end
axes(handles.axes2);
imshow(INEW);%换背景
四、总结致谢
这一次做的蓝幕/绿幕图像自动抠图与背景更换的实现。
原理看似简单,但过程让我深
深感受到再简单的图像处理,理论与实际也会有一定的差入。
在参考书设计原理的基础上经过了个人的改进,让功能更完善,特别是程序的调试,花的时间最多,也是最难的一一个地方。
通过本次设计,培养了创新意识和综合素质,更好地掌握了数字图像处理设计,提高个人基本能力、实验及设计能力和独立工作能力,基本知识更加牢固,会编程调试、会查资料在设计的过程和设计说明书的撰写过程.中,老师给予了我热心的帮助和大力的支持,给我提了诸多的宝贵意见,拓宽了我的思路。
在此我向张运楚、杨红娟、张君捧老师致以崇高的敬意和衷心的感谢!
.
参考文献
五、参考文献
[1][美]JeffFoster.影视绿幕技术完全手册[M].北京:
人民邮电出版社,2012..
[2]郭鹏.演播室蓝幕拟实抠像背景的制作[J].电视字幕.特技与动画,2004,(5).
[3][美]马奎斯著;章毓晋译.实用MATLAB图像和视频处理[M].北京:
清华大学出版社.2013.
[4]罗娇.一种自动抠像技术的研究与实现[D].西南大学,2013.
[5]冈萨雷斯.数字图像处理(MATLAB)中文版[M].北京:
电子工业出版社,2007.
[6]Castleman,K.R.[美]著,朱志刚等译.数字图像处理[M].北京:
电子工业出版社,2002.
[7]朱虹.数字图像处理基础[M].北京:
科学出版社,2005.
[8]刘志敏,扬杰,施鹏飞.数学形态学的图像分割算法[D].计算机工程与科学,1998,20(4):
21.
[9]章毓晋.图像分割.北京:
科学出版社,2001.
[10]王树伟,杨鸲.Matlab6.5辅助图像处理[M].电子工业出版社,2003.
[11]“好莱坞大片特效幕后揭秘,蓝幕绿布打造奇幻世界”
[12]管宇.图像和视频的便捷抠图技术研究[D].浙江大学理学院,2008.
[13]刘小辉.自然背景下的抠图技术研究[D].哈尔滨工业大学,2007.
[1]