基于深度的图像修复实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于深度的图像修复 一.实验目的 1、学会单幅图像的修补 2、学会结合彩色图像和深度图像的图像修补 二.实验原理 1图像修补简介----单幅图像修补 图像中常有缺失或者损坏的部分,即空白区域或者有误的区域。图像修补就是根据这些区域周围的信息完成对空白区域的填充,以实现图像的恢复。 基本方法 图像修补的基本方法示例 示例方法2 选取空白点周围的一片区域,对区域内的参考点进行加权求和,其结果用于对空白点的修补。若所选窗口太小,即窗口中无参考点,则将窗口扩大。 2图像修补简介----利用深度图的图像修补 1图像的前景与背景 实际场景中存在前景与背景的区别,前景会遮挡背景,而且前景与背景往往差距比较大。 2深度图 用于表示3D空间中的点与成像平面距离的灰度图。0~255表示,灰度值越大,表示场景距离成像平面越近,反之,灰度值越小,表示场景距离成像平面越远。 前景的灰度值大,背景的灰度值小。 如下左彩色图,右深度图 3普通的图像修补区分不了图像的前景和背景,简单的加权求和填补空白点的方法会导致前景和背景的混杂。引入深度图之后,可以利用深度图区分图像的前景和背景,在对背景进行修补的时候,可以利用深度图滤除那些前景参考点的影响,从而使背景的空白点只由背景点加权求和得到,前景亦然。 三.实验步骤 1读入一个像素点,判断其是否为空白点。 2若不是空白点,则跳过该点,判断下一个点。 3若该点是空白点,则用前面所述的方法进行加权修补。 4对图像中的每一个点都进行如此处理,直至全图处理完毕,则图像修补完成。 四.实验要求 1独立编码完成实验单幅图像修补利用深度图的图像修补。 2 比较实验结果的差别,并分析原因,完成实验报告。 五.用MATLAB编写实验代码 对于单幅图像以及结合深度图像的修补,其实区别就是是否考虑了深度图像的灰度权重(其实就是0和1),虽然效果图区别很小,但是通过深度图还是可以反映出其立体三维空间的。为了能较好的对比,我把两种方法的比较融合在一条件语句中,在下面的深度图像代码中用红色字体标注。同时深度图像变量用绿色字体标注。 那么要变成单幅图像的修补代码就很简单了,只要将条件语句 depthpos=A(xstart:xend,ystart:yend)3abs(B(xstart:xend,ystart:yend)-basedepth)6; 改为 depthpos=A(xstart:xend,ystart:yend)3;即可 下面是完整的代码 利用深度图像的修补代码 clear all close all I=imread(pollutedim.bmp); B=imread(depth.bmp); B=rgb2gray(B); imshow(I),title(原始受污染的图像) [m,n,hh]=size(I); A=rgb2gray(I);%彩色图转换灰度图 I1=I; [rowind,columnind]=find(A4);%灰度图中小于4灰度值的认为是受到污染的像素,统计受污染像素的位置,rowind和columnind均是向量,并且两者一一对应组成位置坐标 pointnum=length(rowind);%受污染像素的个数 rowstart=rowind-20;rowend=rowind+20;%统计每个受污染像素修复模板的起,止行 rowstart(rowstart1)=1;rowend(rowendm)=m;%起始行不能小于1,终止行不能大于m columnstart=columnind-20;columnend=columnind+20;%统计模板的起,止列 columnstart(columnstart1)=1;columnend(columnendn)=n;%以基准点(受污染点)为中心41*41模板 for num=1:pointnum%对每个受污染的像素进行修复 x=rowind(num); y=columnind(num); basedepth=B(x,y);%深度图基准点灰度值 xstart=rowstart(num); xend=rowend(num); x1=x-xstart+1;%得到基点的相对坐标 ystart=columnstart(num); yend=columnend(num); y1=y-ystart+1;%得到基点的相对坐标 depthpos=A(xstart:xend,ystart:yend)3abs(B(xstart:xend,ystart:yend)-basedepth)6; %参与加权的像素与基准点相差小于6的深度图像素点且

文档评论(0)

8hehan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档