DSP技术实习报告.doc_第1页
DSP技术实习报告.doc_第2页
DSP技术实习报告.doc_第3页
DSP技术实习报告.doc_第4页
DSP技术实习报告.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程实习报告课程实习报告DSP技术及应用图像处理实习报告设计题目:基于C55x的图像灰度变换的程序设计与实现班 级: 设计小组: 组 长: 学 号: 组 员: 学 号: 指导教师: 日 期:目 录一、实习题目3。二、实习目的3。三、实习要求3。四、系统原理描述3。五、方案论证及系统设计 6。六、系统程序的设计 7。七、调试方法及性能分析与实验17。八、实习总结22。九、实习体会22。十、参考文献22。一 、实习题目:1、 灰度线性变换2、 灰度的对数变换3、 锯齿波变换4、 图像剪取二 、实习目的:1、 巩固和深化数字图像处理技术所涉及的数理基础、基本算法和各种图像处理技术方法,学习和掌握图像变换。2、 对学习图像处理的基础知识对其应用工程实践有一定的认识,提高学生对应用软件的使用能力。3、 通过理论联系实际,综合运用所学知识,提高学生独立分析和解决实际问题的能力,增强学生的工程意识,打好专业基础三、实习要求:1、能够根据设计题目要求查阅检索有关的文献资料,结合题目选学有关参考书;2、熟悉计算机图像处理的设计方法;3、熟悉图像灰度变换程序的设计方法;4、掌握图像灰度变换的仿真方法;5、完成图像的灰度变换。四、系统原理描述:灰度变换将输入图像映射为输出图像,输出图像每个像素点的灰度值仅由对应的输入像素点的值决定。它常用于改变图像的灰度范围及分布,是图像数字化及图像显示的重要工具。灰度变换因其作用性质有时也被称为对比度增强、对比度拉伸或点运算,称之为灰度变换。灰度变换实际上是灰度到灰度的映射过程。设输入图像为A(x,y)输出图像为B(x,y),则灰度变换可表示为:即灰度变换完全由灰度映射函数决定。显然灰度变换不会改变图像内像素点之间的空间关系。1. 灰度线性变换设图像灰度值f(x,y)的可能值域为D,但在一定条件下,使得其取值范围缩小为且如图 7-11所示,这种状态常出现于连续图f(x,y)值的动态范围小,或摄影曝光不足中,因而其对应的直方图P (D)如图所示,集中于某个较小的灰度区间内。但是通常人们希望灰度直方图在全部灰度区域内均匀分布,最简单地是把低反差图像进行灰度变换得到高反差图像,即线性变换,如下式: 该式可以使变换后的灰度的取值范围扩大到一般来说,只有当两个相邻像素的灰度值(亮度值)相差到一定程度时,人的视觉才能分辨。若灰度值D仅在较小区间内时,则人眼可分辨的亮度差的总级数则亦很少,从而造成目标图像灰度值与背景灰度值相接近,人眼而无法分辨检出。而对其进行的变换后,则如上图可使变得更大,从而使得视觉上对变换后图像能够分辨的亮度差的总级数增加,造成目标图像与背景间亮度差异的加大,使原先无法被人眼检出的目标图像也能检出,且变换后图像清晰度也大大提高。2. 灰度的对数变换对数变换常用来扩展低值灰度,而压缩高值灰度,这样可以使低值灰度的图像细节更容易看清楚,对数变换的表达式为: 其中K为一根据图像内容来确定的常数因子。3. 锯齿波变换这种方法常用来在动态范围较小的显示器上显示动态范围较大的图像,或者用来发现图像中基本轮廓,变换曲线如图所示。4. 图像剪取对于灰度图像f,设定一个阈值t,若f(i,j) t,则f(i,j)的值保持不变。处理后的图像仍然是灰度图像,只不过阈值t以下的像素被置0。五、方案论证及系统设计图像的线性变换 输出结果图像预处理读取位图图像的对数变换锯齿波变换六、系统程序的设计 1、灰度线性变换#include #include #include imagelib.h /添加图像和视频处理库头文件#include imagesample.h /添加图像例子头文件, /包含原始的图像文件goldhill128128#define MAX_PIXEL_VALUE 256 /包含原始图像像素的最大灰度值#define WIDTH 128#define HEIGHT 128 /原始图像行和列的像素数 int my_result256; /保存自编函数得到的灰度图结果的数组short histogram_output256; /保存调用库函数得到的灰度图结果的数组short my_threshold_val=175;/short my_threshold_val=127; /阈值的设定void my_histogram(); /声明自编灰度图算法显示函数void main( ) inti; int my_size;short*input; my_size = WIDTH*HEIGHT; /计算所有像素点数input = &goldhill00; /获取原始图像的首地址for(i= 0;i MAX_PIXEL_VALUE;i+) histogram_outputi= 0; IMG_histogram(input,histogram_output,my_size); /调用image.lib库函数实现灰度图显示 my_histogram(); /自编C语言算法程序实现灰度图显示 IMG_threshold( &goldhill00,&goldhill00,WIDTH ,HEIGHT, my_threshold_val ); /调用image.lib库函数实现阈值处理与显示while(1); void my_histogram() int za=10,zb=235,i,j,z1=0,z2=255,zzba; short (*p)128; /定义了一个指针变量p, /指向了一个包含128个元素的一维数组, /即行指针变量p p=goldhill; zzba=(z2-z1)/(float)(zb-za); /获取原始图像的首地址 / for(i=0;i256;i+) my_resulti=0; for (i=0;i128;i+) for (j=0;j128;j+) if(*(*(p+i)+j)=zb)*(*(p+i)+j)=z2; else *(*(p+i)+j)=zzba*(*(*(p+i)+j)-za)+z1+0.5; / k=*(*(p+i)+j);/ my_resultk+; /自编灰度直方图算法显示函数2、 灰度的对数变换#include #include #include imagelib.h /添加图像和视频处理库头文件#include imagesample.h /添加图像例子头文件, /包含原始的图像文件goldhill128128#define MAX_PIXEL_VALUE 256 /包含原始图像像素的最大灰度值#define WIDTH 128#define HEIGHT 128#define ZERO 0 /原始图像行和列的像素数 int my_result256; /保存自编函数得到的灰度直方图结果的数组short histogram_output256; /保存调用库函数得到的灰度直方图结果的数组short my_threshold_val=175;/short my_threshold_val=127; /阈值的设定void my_histogram(); /声明自编灰度直方图算法显示函数void main( ) inti; int my_size;short*input; my_size = WIDTH*HEIGHT; /计算所有像素点数input = &goldhill00; /获取原始图像的首地址for(i= 0;i MAX_PIXEL_VALUE;i+) histogram_outputi= 0; IMG_histogram(input,histogram_output,my_size); /调用image.lib库函数实现灰度直方图显示 my_histogram(); /自编C语言算法程序实现灰度直方图显示 IMG_threshold( &goldhill00,&goldhill00,WIDTH ,HEIGHT, my_threshold_val ); /调用image.lib库函数实现阈值处理与显示while(1); void my_histogram() int i,j; double za=2,zb=128,z1=0,z2=255,fij,gij,zzlba; short (*p)128; /定义了一个指针变量p, /指向了一个包含128个元素的一维数组, /即行指针变量p p=goldhill; zzlba=(z2-z1)/(double)(log(zb)-log(za); /获取原始图像的首地址 / for(i=0;i256;i+) my_resulti=0; /初始化灰度直方图结果数组 for (i=0;i128;i+) for (j=0;j128;j+) /* log transform.*/ fij=*(*(p+i)+j); if(fij=0)fij=0.001; gij=zzlba*(log(fij)-log(za)+z1; *(*(p+i)+j)=gij+0.5; / k=*(*(p+i)+j);/ my_resultk+; 3、锯齿波变换#include #include #include imagelib.h /添加图像和视频处理库头文件#include imagesample.h /添加图像例子头文件, /包含原始的图像文件goldhill128128#define MAX_PIXEL_VALUE 256 /包含原始图像像素的最大灰度值#define WIDTH 128#define HEIGHT 128 /原始图像行和列的像素数 int my_result256; /保存自编函数得到的灰度直方图结果的数组short histogram_output256; /保存调用库函数得到的灰度直方图结果的数组short my_threshold_val=175;/short my_threshold_val=127; /阈值的设定void my_histogram(); /声明自编灰度直方图算法显示函数void main( ) inti; int my_size;short*input; my_size = WIDTH*HEIGHT; /计算所有像素点数input = &goldhill00; /获取原始图像的首地址 for(i= 0;i MAX_PIXEL_VALUE;i+) histogram_outputi= 0; IMG_histogram(input,histogram_output,my_size); /调用image.lib库函数实现灰度直方图显示 my_histogram(); /自编C语言算法程序实现灰度直方图显示 IMG_threshold(&goldhill00,&goldhill00,WIDTH,HEIGHT, my_threshold_val ); /调用image.lib库函数实现阈值处理与显示while(1); void my_histogram() int i,j; float lwidth=128,ratio=128,gg=235; short (*p)128; /定义了一个指针变量p, /指向了一个包含128个元素的一维数组, /即行指针变量p p=goldhill; /获取原始图像的首地址 / for(i=0;i256;i+) my_resulti=0; /初始化灰度直方图结果数组 for (i=0;i128;i+) for (j=0;jlwidth) gg=gg-lwidth; *(*(p+i)+j)=gg*ratio+0.5; / k=*(*(p+i)+j);/ my_resultk+; /自编灰度直方图算法显示函数4、 图像剪取#include #include #include imagelib.h /添加图像和视频处理库头文件#include imagesample.h /添加图像例子头文件, /包含原始的图像文件goldhill128128 #define MAX_PIXEL_VALUE 256 /包含原始图像像素的最大灰度值#define WIDTH 128#define HEIGHT 128 /原始图像行和列的像素数 #define ZERO 0int my_result256; /保存自编函数得到的灰度直方图结果的数组short histogram_output256; /保存调用库函数得到的灰度直方图结果的数组 short my_threshold_val=175;/short my_threshold_val=127; /阈值的设定void my_histogram(); /声明自编灰度直方图算法显示函数void main( ) inti; int my_size;short*input; my_size = WIDTH*HEIGHT; /计算所有像素点数input = &goldhill00; /获取原始图像的首地址 for(i= 0;i MAX_PIXEL_VALUE;i+) histogram_outputi= 0; IMG_histogram(input,histogram_output,my_size); /调用image.lib库函数实现灰度直方图显示 my_histogram(); /自编C语言算法程序实现灰度直方图显示 IMG_threshold(&goldhill00,&goldhill00,WIDTH,HEIGHT,my_threshold_val ); /调用image.lib库函数实现阈值处理与显示 while(1); void my_histogram() int i,j,threshold=0; short (*p)128; /定义了一个指针变量p, /指向了一个包含128个元素的一维数组, /即行指针变量p p=goldhill; /获取原始图像的首地址 / for(i=0;i256;i+) my_resulti=0; /初始化灰度结果数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论