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 structunsigned long bfSize;unsigned short bfReserved1;unsigned short
5、bfReserved2;unsigned long bfOffBits;ClBitMapFileHeader;typedef structunsigned long biSize;long biWidth;long biHeight;unsigned short biPlanes;unsigned short biBitCount;unsigned long biCompression;unsigned long biSizeImage;long biXPelsPerMeter;long biYPelsPerMeter;unsigned long biClrUsed;unsigned long
6、 biClrImportant;ClBitMapInfoHeader;typedef structunsigned char rgbBlue;unsigned char rgbGreen;unsigned char rgbRed;unsigned char rgbReserved;ClRgbQuad;typedef structint width;int height;int channels;unsigned char * imageData;ClImage;ClImage *clLoadImage(char * path);bool clSaveImage(char * path,ClIm
7、age * 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,bmpheight);getchar();return 0;/multimedia.c
8、pp#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 offset=0;unsigned char pixVal;ClRgbQuad * quad;int i,j,k;b
9、mpImg=(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(&bmpInfoHeader,sizeof(ClBitMapInfoHeader),1,pFile);if(bmpInfoHeader.biBitC
10、ount=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;bmpImg-imageData=(unsigned char *)malloc(sizeof(unsigned char)*width*height);step=c
11、hannels*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;bmpImg-height=height;bmpImg-channels=3;bmpImg-imageData=(unsigned char *)malloc(sizeof(un
12、signed 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!=0)for(j=0;jchannels=3)step=bmpImg-channels*bmpImg-width;offset=step%4;if(offset!=4)step+=4-offset;b
13、mpFileHeader.bfSize=bmpImg-height*step+54;bmpFileHeader.bfReserved1=0;bmpFileHeader.bfReserved2=0;bmpFileHeader.bfOffBits=54;fwrite(&bmpFileHeader,sizeof(ClBitMapFileHeader),1,pFile);bmpInfoHeader.biSize=40;bmpInfoHeader.biWidth=bmpImg-width;bmpInfoHeader.biHeight=bmpImg-height;bmpInfoHeader.biPlane
14、s=1;bmpInfoHeader.biBitCount=24;bmpInfoHeader.biCompression=0;bmpInfoHeader.biSizeImage=bmpImg-height*step;bmpInfoHeader.biXPelsPerMeter=0;bmpInfoHeader.biYPelsPerMeter=0;bmpInfoHeader.biClrUsed=0;bmpInfoHeader.biClrImportant=0;fwrite(&bmpInfoHeader,sizeof(ClBitMapInfoHeader),1,pFile);for(i=bmpImg-h
15、eight-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;fwrite(&pixVal,sizeof(unsigned char),1,pFile);pixVal=bmpImg-imageDatai*bmpImg-width*3+j*3+2;fwrite(&pixVal,sizeof(unsigned char),1,
16、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.bfReserved1=0;bmpFileHeader.bfReserved2=0;bmpFileHeader.bfOffBits=54+256*4;fwrite(&bmpFileHeader,sizeof(ClBitMapFileHeader),1,pFile);bmpInfoHea
17、der.biSize=40;bmpInfoHeader.biWidth=bmpImg-width;bmpInfoHeader.biHeight=bmpImg-height;bmpInfoHeader.biPlanes=1;bmpInfoHeader.biBitCount=8;bmpInfoHeader.biCompression=0;bmpInfoHeader.biSizeImage=bmpImg-height*step;bmpInfoHeader.biXPelsPerMeter=0;bmpInfoHeader.biYPelsPerMeter=0;bmpInfoHeader.biClrUsed
18、=256;bmpInfoHeader.biClrImportant=256;fwrite(&bmpInfoHeader,sizeof(ClBitMapInfoHeader),1,pFile);quad=(ClRgbQuad *)malloc(sizeof(ClRgbQuad)*256);for(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;joffse
19、t;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;int 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-
20、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;ih-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:materi
21、al2 电路图.bmp,img);if(flag0)printf(save ok.n);printf(n);void Zhongzhi(ClImage * img1,int h,int w)int b9=0,a500500=0;int 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=
22、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;for(i=1;ih-1;i+)f
23、or(j=1;jw-1;j+)for(k=0;kimageData(i+k)*w*3+j*3+k=9*aij-ai-1j-1-ai-1j-ai-1j+1-aij-1-aij+1-ai+1j-1-ai+1j-ai+1j+1;bool flag4=clSaveImage(D:material4 月球.bmp,img2);if(flag4)printf(save ok.n);printf(n);for(i=1;ih-1;i+)for(j=1;jw-1;j+)for(k=0;kimageData(i+k)*w*3+j*3+k=abs(ai+1j-1+2*ai+1j+ai+1j+1-ai-1j-1-2*
24、ai-1j-ai-1j+1)+abs(ai-1j+1+2*aij+1+ai+1j-1-ai-1j-1-2*aij-ai+1j-1);printf(Sobel算子n);bool flag5=clSaveImage(D:material5 月球.bmp,img2);if(flag5)printf(save ok.n);printf(n);int main()int w=0,h=0;printf(均值滤波n);ClImage *img=clLoadImage(D:material电路板图.bmp);w=img-width;h=img-height;printf(宽%dn高%dn,w,h);Junzh
25、i(img,h,w);printf(中值滤波n);ClImage *img1=clLoadImage(D:material带噪声的电路板图.bmp);w=img1-width;h=img1-height;printf(宽%dn高%dn,w,h);Zhongzhi(img1,h,w);printf(Sobeln);ClImage *img2=clLoadImage(D:material月球.bmp);w=img2-width;h=img2-height;printf(宽%dn高%dn,w,h);Sobel(img2,h,w);return 0;七、参考文献1. Digital Image Pro
26、cessing. 2nd Ed,R. C. Conzalez编,电子工业出版社,2002年。2数字图像处理,胡学龙编,电子工业出版社,2006年。3Image Processing: The Fundamentals.,Maria Petrou,机械工业出版社,2005年。4视频处理与通信,Yao Wang等编著,电子工业出版社,2003年。5新一代视频压缩编码标准H.264/AVC,毕厚杰编著,人民邮电出版社,2005年。6数字视频处理,黎洪松编著,北京邮电大学出版社,2006年。7数字视频处理,全子一编著,电子工业出版社,2005年。8VC+深入详解,孙鑫编著,北京:清华大学出版社,200
27、2年。目 录第一章 总论1一、项目概况1二、项目提出的理由与过程6三、项目建设的必要性8四、项目的可行性12第二章 市场预测15一、市场分析15二、市场预测16三、产品市场竞争力分析19第三章 建设规模与产品方案22一、建设规模22二、产品方案22三、质量标准22第四章 项目建设地点25一、项目建设地点选择25二、项目建设地条件25第五章 技术方案、设备方案和工程方案28一、技术方案28二、产品特点30三、主要设备方案32四、工程方案32第六章 原材料与原料供应35一、原料来源及运输方式35二、燃料供应与运输方式35第七章 总图布置、运输、总体布局与公用辅助工程37一、总图布置37二、 运输3
28、8三、总体布局38四、公用辅助工程39第八章 节能、节水与安全措施44一、主要依据及标准44二、节能44三、节水45四、消防与安全45第九章 环境影响与评价47一、法规依据47二、项目建设对环境影响48三、环境保护措施48四、环境影响评价49第十章 项目组织管理与运行50一、项目建设期管理50二、项目运行期组织管理52第十一章 项目实施进度55第十二章 投资估算和资金筹措56一、投资估算56二、资金筹措58第十三章 财务评价与效益分析61一、项目财务评价61二、财务评价结论65三、社会效益68四、生态效益68第十四章 风险分析70一、主要风险分析识别70二、风险程度分析及防范风险的措施70第十五章 招标方案72一、招标范围72二、招标组织形式72三、招标方式72第十六章 结论与建议74一、可行性研究结论74二、建议75附 件77一、附表77二、附件77三、附图7720