ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:1.68MB ,
资源ID:6196624      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6196624.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(多媒体信息技术课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

多媒体信息技术课程设计报告.docx

1、多媒体信息技术课程设计报告南京工程学院课程设计报告书 课 程 名 称 多媒体信息技术 院(系、部、中心) 班 级 学 号 姓 名 起 止 日 期 指 导 教 师 目 录一课程设计目的 3二课程设计题目及要求 3三概述 3四运行结果 4五课程设计总结 5六源程序代码 6七参考文献 18一、课程设计目的本次课程设计的目的是通过课程设计,达到理论与实际应用相结合,提高学生对多媒体信息的各种处理方法的理解和编写大型程序的能力,使学生能够根据处理的信息的特征,掌握数字图像处理、数字视频编码和数字音频编码的算法设计基本方法,并培养良好的程序设计能力。二、课程设计题目及要求图像滤波去噪和滤波增强分别使用下面

2、两个均值空域滤波模板对“电路板图.bmp”进行滤波,并输出滤波结果。使用3X3中值滤波器对“带有噪声的电路板图.bmp”进行去噪滤波,并输出滤波结果。使用下图复合拉普拉斯掩模和Sobel算子对“月球.bmp”进行空域滤波增强,并输出增强结果。三、概述1、均值滤波:均值滤波时典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身)再用模板中的全体像素的平均值来代替原来像素值。2、中值滤波;中值滤波器是一种非线性平滑技术,它将每一点像素的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值;方法:通

3、过从图像中的某个采样窗口取出奇数个数据进行排序,用排序后的中值取代要处理的数据。3、复合拉普拉斯掩模:从模板形式容易看出,如果在图像中一个较暗的区域中出现了一个亮点,那么用拉普拉斯运算就会使这个亮点变得更亮,因为图像中的边缘就是那些灰度发生跳变的区域,所以拉普拉斯锐化模板在边缘检测中很有用。4、Sobel算子:主要用于作边缘检测,Sobel算子对于像素的位置影响做了加权,可以降低边缘模糊程度。四、运行结果原图:结果图:五、课程设计总结这次通过c语言编写程序对图像进行滤波,去噪滤波、空域增强,了解了图像处理的原理和过程。其中,均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的

4、同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点;中值滤波对消除椒盐噪声非常有效,在图像处理中,常用于保护边缘信息,是经典的平滑噪声的方法;拉普拉斯是一种微分算子,它的应用可增强图像中灰度突变的区域,减弱灰度的缓慢变化区域Sobel算子则用于边缘检测。通过努力顺利完成了这次课程设计,学会了用c语言进行图像处理,在过程中遇到问题再解决使我成长了不少,收获了很多。六、源程序代码/BMPRW.H#ifndef BMPRW_H#define BMPRW_Htypedef struct unsigned long bfSize; unsigned short bfReserved1;

5、 unsigned short bfReserved2; unsigned long bfOffBits;ClBitMapFileHeader;typedef struct unsigned long biSize; long biWidth; long biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned long biCompression; unsigned long biSizeImage; long biXPelsPerMeter; long biYPelsPerMeter; unsigned l

6、ong biClrUsed; unsigned long biClrImportant;ClBitMapInfoHeader;typedef struct unsigned char rgbBlue; unsigned char rgbGreen; unsigned char rgbRed; unsigned char rgbReserved;ClRgbQuad;typedef struct int width; int height; int channels; unsigned char * imageData;ClImage;ClImage *clLoadImage(char * pat

7、h);bool clSaveImage(char * path,ClImage * bmpImg);#endif/pretreatment.cpp#includeint main() long bmpwidth,bmpheight; FILE *fp; fp=fopen(FIVEANGL.bmp,rb); fseek(fp,18L,SEEK_SET); fread(&bmpwidth,4,1,fp); fread(&bmpheight,4,1,fp); fclose(fp); printf(n%s width is %ld,height is %ld,FIVEANGL.bmp,bmpwidth

8、,bmpheight); getchar(); return 0;/multimedia.cpp#include#include#includeBMPRW.hClImage * clLoadImage(char * path) ClImage * bmpImg; FILE * pFile; unsigned short fileType; ClBitMapFileHeader bmpFileHeader; ClBitMapInfoHeader bmpInfoHeader; int channels=1; int width=0; int height=0; int step=0; int of

9、fset=0; unsigned char pixVal; ClRgbQuad * quad; int i,j,k; bmpImg=(ClImage *)malloc(sizeof(ClImage); pFile=fopen(path,rb); if(!pFile) free(bmpImg); return NULL; fread(&fileType,sizeof(unsigned short),1,pFile); if(fileType=0x4D42) fread(&bmpFileHeader,sizeof(ClBitMapFileHeader),1,pFile); fread(&bmpIn

10、foHeader,sizeof(ClBitMapInfoHeader),1,pFile); if(bmpInfoHeader.biBitCount=8) printf(该文件有调色板,即该位图为非真彩色nn); channels=1; width=bmpInfoHeader.biWidth; height=bmpInfoHeader.biHeight; offset=(channels*width)%4; if(offset!=0) offset=4-offset; bmpImg-width=width; bmpImg-height=height; bmpImg-channels=1; bmp

11、Img-imageData=(unsigned char *)malloc(sizeof(unsigned char)*width*height); step=channels*width; quad=(ClRgbQuad *)malloc(sizeof(ClRgbQuad)*256); fread(quad,sizeof(ClRgbQuad),256,pFile); free(quad); for(i=0;iheight;i+) for(j=0;jimageData(height-1-i)*step+j=pixVal; if(offset!=0) for(j=0;jwidth=width;

12、bmpImg-height=height; bmpImg-channels=3; bmpImg-imageData=(unsigned char *)malloc(sizeof(unsigned char)*width*3*height); step=channels*width; offset=(channels*width)%4; if(offset!=0) offset=4-offset; for(i=0;iheight;i+) for(j=0;jwidth;j+) for(k=0;kimageData(height-1-i)*step+j*3+k=pixVal; if(offset!=

13、0) for(j=0;jchannels=3) step=bmpImg-channels*bmpImg-width; offset=step%4; if(offset!=4) step+=4-offset; bmpFileHeader.bfSize=bmpImg-height*step+54; bmpFileHeader.bfReserved1=0; bmpFileHeader.bfReserved2=0; bmpFileHeader.bfOffBits=54; fwrite(&bmpFileHeader,sizeof(ClBitMapFileHeader),1,pFile); bmpInfo

14、Header.biSize=40; bmpInfoHeader.biWidth=bmpImg-width; bmpInfoHeader.biHeight=bmpImg-height; bmpInfoHeader.biPlanes=1; bmpInfoHeader.biBitCount=24; bmpInfoHeader.biCompression=0; bmpInfoHeader.biSizeImage=bmpImg-height*step; bmpInfoHeader.biXPelsPerMeter=0; bmpInfoHeader.biYPelsPerMeter=0; bmpInfoHea

15、der.biClrUsed=0; bmpInfoHeader.biClrImportant=0; fwrite(&bmpInfoHeader,sizeof(ClBitMapInfoHeader),1,pFile); for(i=bmpImg-height-1;i-1;i-) for(j=0;jwidth;j+) pixVal=bmpImg-imageDatai*bmpImg-width*3+j*3; fwrite(&pixVal,sizeof(unsigned char),1,pFile); pixVal=bmpImg-imageDatai*bmpImg-width*3+j*3+1; fwri

16、te(&pixVal,sizeof(unsigned char),1,pFile); pixVal=bmpImg-imageDatai*bmpImg-width*3+j*3+2; fwrite(&pixVal,sizeof(unsigned char),1,pFile); if(offset!=0) for(j=0;jchannels=1) step=bmpImg-width; offset=step%4; if(offset!=4) step+=4-offset; bmpFileHeader.bfSize=54+256*4+bmpImg-width; bmpFileHeader.bfRese

17、rved1=0; bmpFileHeader.bfReserved2=0; bmpFileHeader.bfOffBits=54+256*4; fwrite(&bmpFileHeader,sizeof(ClBitMapFileHeader),1,pFile); bmpInfoHeader.biSize=40; bmpInfoHeader.biWidth=bmpImg-width; bmpInfoHeader.biHeight=bmpImg-height; bmpInfoHeader.biPlanes=1; bmpInfoHeader.biBitCount=8; bmpInfoHeader.bi

18、Compression=0; bmpInfoHeader.biSizeImage=bmpImg-height*step; bmpInfoHeader.biXPelsPerMeter=0; bmpInfoHeader.biYPelsPerMeter=0; bmpInfoHeader.biClrUsed=256; bmpInfoHeader.biClrImportant=256; fwrite(&bmpInfoHeader,sizeof(ClBitMapInfoHeader),1,pFile); quad=(ClRgbQuad *)malloc(sizeof(ClRgbQuad)*256); fo

19、r(i=0;iheight-1;i-1;i-) for(j=0;jwidth;j+) pixVal=bmpImg-imageDatai*bmpImg-width+j; fwrite(&pixVal,sizeof(unsigned char),1,pFile); if(offset!=0) for(j=0;joffset;j+) pixVal=0; fwrite(&pixVal,sizeof(unsigned char),1,pFile); fclose(pFile); return true;void Junzhi(ClImage *img,int h,int w) int i,j,k; in

20、t a500500=0; for(i=0;ih;i+) for(j=0;jimageDatai*w*3+j*3; for(i=1;ih-1;i+) for(j=1;jw-1;j+) for(k=0;kimageData(i+k)*w*3+j*3+k=(ai-1j-1+ai-1j+ai-1j+1+aij-1+aij+aij+1+ai+1j-1+ai+1j+ai+1j+1)/9; printf(模板一n); bool flag=clSaveImage(D:material1 电路图.bmp,img); if(flag) printf(save ok.n); printf(n); for(i=1;i

21、h-1;i+) for(j=2;jw-1;j+) for(k=0;kimageData(i+k)*w*3+j*3+k=(ai-1j-1+2*ai-1j+ai-1j+1+2*aij-1+4*aij+2*aij+1+ai+1j-1+2*ai+1j+ai+1j+1)/16; printf(模板二n); bool flag0=clSaveImage(D:material2 电路图.bmp,img); if(flag0) printf(save ok.n); printf(n);void Zhongzhi(ClImage * img1,int h,int w) int b9=0,a500500=0; i

22、nt i,j,k,m,n,temp; for(i=0;ih;i+) for(j=0;jimageDatai*w*3+j*3; for(i=1;ih-1;i+) for(j=1;jw-1;j+) b0=ai-1j-1; b1=ai-1j; b2=ai-1j+1; b3=aij-1; b4=aij; b5=aij+1; b6=ai+1j-1; b7=ai+1j; b8=ai+1j+1; for(m=0;m8;m+) for(n=m+1;nbn) temp=bm; bm=bn; bn=temp; for(k=0;kimageData(i+k)*w*3+j*3+k=b4; printf(中值n); bool flag1=clSaveImage(D:material3 电路板.bmp,img1); if(flag1) printf(save ok.n); printf(n);void Sobel(ClImage * img2,int h,int w) int a550470=0; int i,j,k; for(i=0;ih;i+) for(j=0;jimageDatai*w*3+j*3;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1