数字信号处理附加实验-多重曝光与数字图像处理.docxVIP

数字信号处理附加实验-多重曝光与数字图像处理.docx

  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文档。上传文档
查看更多
数字信号处理附加实验-多重曝光与数字图像处理

《数字信号处理》实验报告?附加实验?:影像多重曝光中的数字信号处理原理姓名:学号:专业:通信工程班级:2014级2班学院:机电与信息工程学院指导教师:老师学年学期:2016-2017学年第1学期时间:2016年12月18日这次实践的灵感最早来源于一位摄影师朋友的朋友圈,当时觉得这样的多重摄影特别有感觉,正好老师的课件上提到了将大象和一座房子拼到一起,并介绍了黑白照片的重叠的算法,于是我决定自己稍微了解一下这种图像处理技术。我找到了摄影杂志上推荐的有关多重曝光的app,其中multiexpo是公认比较好用的,于是下载了一个基础版,按照简单的步骤我试了许多图效果也特别好:以下左图为拼好的效果图,右图为选择滤镜强化的渲染图我们先需要了解如何将两张彩图成功的拼接叠合在一起,后期对各个部分色彩的强化肯定还要用到谱的变换,属于更高阶的图像处理手段。上CNKI搜相关文章,发现大多数是摄影杂志的摄影技巧方面的介绍,的确,许多要求较高的多重曝光摄影确实是用相机通过计算好每次曝光的光圈和快门时间所达到的:能够进行多重曝光的数码相机还都是比较高级的型号,我们大部分时候是后期处理的多重曝光,其中最常见的又是二重曝光。经过搜索论文,这篇《二重曝光高动态的图像预处理方法_曹林浪》讲得还是比较到位的。虽然它针对的是高动态的图像的二重曝光,像灯闪得太快要成像,就需要用到这个预处理,论文的思路主要就是:对直方图进行分析和处理,但是这种算法将图像从16位处理成了8位,使得相机的拍摄效果更加柔和,过曝和欠曝的可能性都大大降低。我觉得自己的搜索方法可能不对于是我换了一个搜索词:图像叠加找到一篇《一种新的基于多频谱叠加的图像配准算法_张轶飞》的论文文章介绍了多重频谱的叠加的改进算法,然后主要就讲图像配准了。这也是在需要插值的时候,也就是我们常见的渐变效果,需要用到的算法。但是这都不是非常具体的二重图像叠加算法,按老规矩,我们用matlab实现一下这个算法,大致思路是RGB像素点要先实现归一化,然后才能相加并实现重叠。先从简单的图像按比例叠加开始:function [ imout ] = ImageAdd( ima,imb,x,y,rate )[m,n,g] = size(ima); [a,b,g1] = size(imb);ima = im2double(ima);imb = im2double(imb);imout = zeros(m,n,g);fori = 1:mfor j = 1:nif ( i = a i = x j = y j= b)imout(i,j,:) = ((ima(i,j,:)*(100 - rate) + imb(i-x+1,j-y+1,:)*rate))/100;elseimout(i,j,:) = ima(i,j,:);endendendend这个函数思路很清晰,x和y是较小图片的比例,rate就是叠加率。但是运行总会有问题,就是在jpg转换为double型时总是会出错,那么这时候就需要改用matlab自带的读文件函数:clearall;closeall;clc;filename=mang1.jpg;filename1=pic2.jpg;x=double(imread(filename))/255; %实现归一化,读入的类型是无符号的8位整形,相当于0-255的所有整数,为了计算准确,必须先转化为double类型,再除以255,这样,图像矩阵的值全部在0-1之间了。x1=double(imread(filename1))/255;subplot(2,2,1);imshow(x);subplot(2,2,2);imshow(x1)Y(100,100,3)=0;alpha=0.5;fileinfo=imfinfo(filename);fori=1:fileinfo.Height %用循环读入图像文件的图像信息,以便获取其高度和宽度,厚度本身由于RGB的原因肯定是3for j=1:fileinfo.Widthfor k=1:3Y(i,j,k)=alpha*x(i,j,k)+(1-alpha)*x1(i,j,k); %a、b是两幅图像,k是系数。由于两幅彩色图像都是三维的,所以循环要跑三个方向,进行图片的叠加。endendendsubplot(2,2,3)pause(2)imshow(Y)合并用到的图1为摄影师同学的摄影作品,图2的风景都是自己在国际海水浴场和学校里拍的夕阳,最后得到的效果图如下:对于比例的截取,以及两图各占多少强度,只要调整alpha值就可以了,下面是输出的图像,关于multiexpo的基本原理大概就是这样,其实很简单的原理,关于更多的滤镜效果的算法倒是还值得后续自己去摸索,要是能成功,自己就能开

文档评论(0)

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

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

1亿VIP精品文档

相关文档