华工电信数学实验6图像畸变校正.docxVIP

  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文档。上传文档
查看更多
华工电信数学实验6图像畸变校正

《数学实验》报告 学 院: 电子与信息学院 专业班级: 学 号: 姓 名: 实验名称: 图像畸变校正 实验日期: 实验六 图像形状及颜色畸变的校正 实验目的与要求 让学生了解数字图像的数学表达及相关概念,通过实验让学生加深对数学在相关学科的应用价值的认识,培养学生的实际操作能力,并引导他们建立基础学科在处理具体问题时方法上的联系。 问题描述 对于在颜色或形状上发生畸变的图像,通过数学的方法实现校正。 三、练习 1.任意选取一幅颜色畸变的图像,按照本实验的算法做出校正,对校正效果进行分析。 2.任意选取一幅图像模糊的图像,按照本实验的算法做出校正,对校正效果进行分析。 3.提出图像校正的其他方法,并与本实验的算法做比较分析。 四、实验过程 颜色畸变校正:需校正的图像: 先获取该图像的颜色畸变的RGB基色直方图,代码如下: i=imread(G:\matlab ex\LSS.jpg); subplot(1,3,1);imhist(i(:,:,1));title(R基色直方图); subplot(1,3,2);imhist(i(:,:,2));title(G基色直方图); subplot(1,3,3);imhist(i(:,:,3));title(B基色直方图); 运行结果: 由以上分析,可看出该颜色畸变图像需处理的是G基色。 实验代码: function dealcolor2(pic,k,d) a=imread(pic); %提取指定图像到矩阵a b=double(a); %将矩阵a的数据转化为double型 [m,n]=size(b(:,:,k)); %取图像矩阵的行列数 fr=255/d; %设定拉伸系数 for i=1:m % 二重循环 对矩阵内的每一个数据进行处理 for j=1:n bm=b(i,j,k)*fr; % 拉伸处理 if bm255 %将所有值大于255的点都设为255 bm=255; end b(i,j,k)=bm; end end c=uint8(b); %将矩阵b转化为8个字节的整型数据 image(c); %显示处理过的图像 操作:dealcolor2(G:\matlab ex\LSS.jpg,2,140) 运行结果: 分析:经过色彩基色校正之后得到的图像更为逼真,接近真实的色彩。 图像模糊校正 待校正图像: 实验代码: function faintness(pic,tem_n) %pic代表处理的图片的路径,tem_n代表采用第几种模板 a=imread(pic); %导入图像,并把数据存放到三维矩阵a中 b=double(a); %将数据转化为双精度 [h,w,k]=size(b); %取矩阵的维数 g=zeros(h,w,k)+255; %生成一个与原图像矩阵有相同维数的矩阵g for y=2:h-1 %剔除图像矩阵最外一层的点,处理可以被模板包含的点 for x=2:w-1 for j=1:k g(y,x,j)=pick_tem(b,x,y,j,tem_n); %采用二阶微分算子处理,返回处理点(x,y)后的像素值 end end end image(uint8(g)); %显示处理后的图像 function pic_tem = pick_tem(b,x,y,j,tem_n) % b是一个三维矩阵,j 是代表第几层矩阵 %tem_n代表模板号0代表采用第一种模板,1代表采用第二种模板 if tem_n==0 %第一种模板,并返回二阶微分处理后的值 pic_tem=5*b(y,x,j)-(b(y,x-1,j)+b(y+1,x,j)+b(y-1,x,j)+b(y,x+1,j)); else %第二种模板,并返回二阶微分处理后的值 pic_tem=9*b(y,x,j)-(b(y-1,x-1,j)+b(y-1,x,j)+b(y-1,x+1,j)+b(y,x-1,j)+b(y+1,x+1,j)+b(y+1,x-1,j)+b(y+1,x,j)+b(y+1,x+1,j));

文档评论(0)

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

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

1亿VIP精品文档

相关文档