- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子科技大学数字图像处理实验报告电子科技大学
计算机专业类课程 实验报告 学院: 专业: 学生姓名: 学号: 指导教师: 课程名称:数字图像处理 日期:XX年11月23日 电子科技大学计算机学院实验中心 电子科技大学 实验报告 实验一 一、实验名称:数字图像处理基础 二、实验学时:3 三、实验内容和目的: 内容:1.图像实时采集 2.图像信息的获取 3.拍摄自己的标准像 4.基于BMP图像的读写编程,将BMP图像变为灰度图像并存到硬盘目的:学习数字图像的处理以及用C语言编程,掌握BMP图像的操作。 四、实验原理: 1、了解“数字图像处理系统”的基本组成结构; 2、掌握BMP图像的读写操作,以及对图像的基本处理; 3、改变像素矩阵的RGB值来达到彩色图转变为灰度图,加权平均值算法来求出R=G=B的值。 五、实验器材 硬件:华为笔记本电脑、联想台式电脑 软件:win7操作系统、VisualStidio 六、实验步骤: 实验基本思路: 1、以二进制流的形式读取的bmp图像文件,并获取相关文件信息 2、创建一个新的孔bmp图像文件,前54个字节的两个文件头部直接复制 3、循环读取源图像的B、G、R的值,并取平均值写入新的图像对应位置实验代码: //:定义控制台应用程序的入口点。 #include #include #include voidmain() { FILE*fp=fopen(D:\,rb+);//以读写方式打开bmp图像 FILE*fq=fopen(D:\,wb+);//以谢读方式创造一个bmp文件 //获取图像的长和宽 FILE*fp1=fopen(D:\,rb+); fseek(fp1,18,0); intlength=(int)getw(fp1);//获取图像的横向像素点数 intwidth=(int)getw(fp1);//获取图像纵向像素点数 intflag; if(length%4==0) { flag=0; }elseflag=4-((3*length)%4); 电子科技大学计算机学院实验中心 //读写54字节文件头 inti; for(i=0;ir/4elseendM(u,v)=1/H(u,v);M(u,v)=1; ma=max(max(H)); figure; imshow(uint8(H.*255./ma)); title(光学传递函数 ); G=H.*fftshift(fftI); g=(ifft2(G)); g=abs(real(g)); figure; imshow(uint8(g)); title(湍流退化); fftG=fft2(uint8(g)); fftF=fftshift(fftG)./H; F=(ifft2(fftF)); F=abs(real(F)); ma=max(max(F)); F=F.*255/ma; figure; imshow(uint8(F)); title(全逆滤波复原 ); fftF=fftshift(fftG).*M; F=(ifft2(fftF)); F=abs(real(F)); figure; imshow(uint8(F)); title(半径受限逆滤波复原 ); T=(H.^2./(H.^2+)); F2=(1./H).*T.*fftshift(fftG); f2=(ifft2(F2)); f2=abs(real(f2)); f2=f2(1:r,1:c); figure; imshow(uint8(f2)); title(维纳滤波复原 ); 三、实验结果分析 1、全逆滤波复原图像出现畸变;可以采用限制滤波频率使其难以接近原点值,减少遇到零值的可能; 2、从实验结果得知,维纳滤波复原效果比半径受限逆滤波效果好。
文档评论(0)