1、1信号处理工程训练题目六 :数字图像归一法研究姓名:张萌 08024121专业:通信工程指导教师:赵德群2目录题目要求、原理和训练目的3实验流程图5编程思路及相关原理6实验程序源代码6实验效果展示 10心得体会 153一、题目要求、原理和训练目的本课题是根据电子信息类本科生信号处理和分析课程的学习内容和图像信号处理的实际应用相结合而设计的实践性训练。课程训练以数字信号处理为基础,需要学生在掌握基本原理的同时,理解数字图像的相关知识并结合实际应用实现对数字图像信号的分析和处理。1、 训练目的1) 通过利用 c 程序实现数字信号处理的相关功能,巩固对信号处理原理知识的理解,提高实际编程和处理数据的
2、综合能力,初步培养在解决信号处理实际应用问题中所应具备的基本素质和要求。2) 培养研发能力,通过设计实现不同的信号处理问题,初步掌握在给定条件和功能的情况下,实现合理设计算法结构的能力。3) 提高文献整理和资料查询的能力。通过课下对相关语音知识的学习和理解,培养快速解决实际问题的能力,并在文献整理的过程中学会科技文献的写作,提高语言表达能力。2、 训练内容背景:CCD 电视摄像机用于每天 24 小时、每月 30 天地对同一区域进行长期观测研究。每 5 分钟拍取一次数字图像并传送到中心场所。场景的照明,白天为自然光,晚上为人造光,没有无照明时间,因此总可以获得一幅图像。由于照明的范围总是在摄像机
3、的线性工作区,因此摄像机本身并不需要使用任何补偿装置。1) 了解图像归一法的原理及方法。2) 了解恒定照明的含义。 3) 使用数字技术对图像进行后处理并归一化,这样就使图像与恒定照明是等效的。3、 设计实验报告要求1) 简要说明图像归一法原理及方法。2) 设计一种方法,能在上述背景下得到恒定照明的视频图像,可做各种假设,但在报告中必须进行说明。3) 通过实际测试进行验证。44、 思考题和扩展训练探求实际视频拍摄过程中,如何解决场景切换、光源变化所噪声的亮度强烈变化造成的视频闪烁问题。5、 相关原理1) 用序列中的最大值对序列进行归一化;2) 用序列的平方和对序列进行归一化,也就是归一化后序列的
4、 2 范数为 1。5二、归一化原理及编程思路图像归一化就 是 通 过 一 系 列 变 换 , 将 待 处 理 的 原 始 图 像 转 换 成 相 应 的 唯 一 标 准 形式 。 归一化的思想,主要就是通过读入要处理的特定的图片以及它之后九张的图片,将它们的 R, G,B 三色信息都存储到程序开辟的数组之中,然后通过将十张图的色彩信息累加求均值,构成输出图像的 R,G,B 三色信息,完成图像的恒定光源归一化过程。本次实验的整体思路就是归一化的算法。在实验中,我采用了一组对比度不同的 50张相同图片对程序进行验证,对比度的不同代表了光源明暗的变化,对这些图片进行实验可以实现恒定光源输出图像的效果
5、。三、实验流程图start读入初始图像,并将其存入相应的指针中将图片的像素信息读入相应的数组全部处理完毕进行归一化处理,并将处理后的像素信息进行输出,构造新的图像ENDYN6四、实验程序源代码#include #include #define H 325#define W 320#define F 10#define NUM 49struct PIXELunsigned char B,G,R;PIXELFHW,PIXEL2HW,pp;int main()unsigned char temp54;int i,j,m,k;int aHW;FILE *imgFileNUM;FILE *outFile
6、NUM;for (i=0;iNUM;i+)sprintf(stpath,“%d.bmp“,i+1);imgFilei=fopen(stpath,“rb“);if(imgFilei=0)return;sprintf(stpath,“1%d.bmp“,i+1);outFilei=fopen(stpath,“wb+“);if(imgFilei=0)return;for(m=0;mNUM-F+1;m+) for(k=0;k10;k+)fseek(imgFilem+k,0L,SEEK_SET);fread(for(i=0;iH;i+)for(j=0;jW;j+)fread(7PIXELkij.R=pp.
7、R;PIXELkij.G=pp.G;PIXELkij.B=pp.B;printf(“%d “,m);for(i=0;iH;i+)for(j=0;jW;j+)aij=0;for(k=0;k10;k+)for(i=0;iH;i+)for(j=0;jW;j+)aij+=(int)PIXELkij.B;for(i=0;iH;i+)for(j=0;jW;j+)aij=aij/10;for(i=0;iH;i+)for(j=0;jW;j+)PIXEL2ij.B=(char)aij;for(i=0;iH;i+)for(j=0;jW;j+)aij=0;for(k=0;k10;k+)for(i=0;iH;i+)f
8、or(j=0;jW;j+)aij+=(int)PIXELkij.G;for(i=0;iH;i+)for(j=0;jW;j+)aij=aij/10;for(i=0;iH;i+)for(j=0;jW;j+)8PIXEL2ij.G=(char)aij;for(i=0;iH;i+)for(j=0;jW;j+)aij=0;for(k=0;k10;k+)for(i=0;iH;i+)for(j=0;jW;j+)aij+=(int)PIXELkij.R;for(i=0;iH;i+)for(j=0;jW;j+)aij=aij/10;for(i=0;iH;i+)for(j=0;jW;j+)PIXEL2ij.R=(
9、char)aij;fwrite(fwrite(printf(“%d“,m);return 0;9五、 实验效果展示为了对程序进行验证,我对同一张图进行了 50 次对比度的调整,且其明暗变化具有一定周期性。通过实验归一化,消除明暗变化效果,实现恒定光源归一化。下面为全部的输入图像:1011下组图片为处理后的输出图片:12从处理结果可以看出,输出的图片很好的将输入图片中的明暗对比进行了弱化,程序实用有效。13六、 心得体会本次实验使我对于图像归一化,恒定光源等理论有了初步的了解,在实验的过程中,查阅了相关资料进行学习,丰富了相关知识,在实验的过程中也遇到了一些问题,通过查阅资料,请教老师、同学等方式,使问题一一得到解决,锻炼了我解决问题的能力。这次实验是一次很宝贵的学习机会。