直方图均衡化及OpenCV实现

直方图均衡化及OpenCV实现
直方图均衡化及OpenCV实现

一、直方图均衡化原理:

出自Sonka “Image processing, analysis and machine vision”, 3rd ed, 2008.

直方图均衡化是想把左边的直方图变换为右边的直方图,使各个灰度值上的像素个数均匀分布,这样图像整体的亮度分布较均匀,不会过亮或过暗,同时可以增加图像的对比度。

假设变换前后图像的灰度等级都为k,则变换过程为:

G(q i) k

i=0=H(p i)

k

i=0

其中,p i为变换前的灰度值,q i为变换后的灰度值,H(p)为变换前的直方图,G(p)为变换后的直方图。假设图像大小为N*N,那么G q i应为常量值:N2

q k?q0

那么用精确的连续函数表达,有:

其中,称为累积直方图(cumulative histogram).

转换为离散形式,得到:

二、算法实现

1) 声明数组H,数组长度为图像的灰度等级G(一般为256),图像大小为N*M;

2) 扫描图像,建立灰度直方图: H(pi) = H(pi) + 1;

3) 建立累积直方图Hc(pi):

Hc(p0) = H(p0);

Hc(pi) = Hc(pi-1) + H(pi);

4) 扫描图像,计算新像素值qi,也可以建立一个查找表:

qi=(G-1)Hc(pi)/(N*M)

三、代码实现:

Mat& MyHistEqual(Mat& I)

{

CV_Assert(I.data);

// accept only char type matrices

CV_Assert(I.depth() != sizeof(uchar));

const int channels = I.channels();

switch(channels)

{

case 1:

{

int Hist[256];

memset(Hist, 0, sizeof(Hist));

// form image histogramp

MatIterator_ it, end;

for( it = I.begin(), end = I.end(); it != end; it++ )

Hist[(*it)] ++;

// form cumulative histograme

for( int i = 1; i < 256; i++ )

Hist[i] += Hist[i-1];

// histogram equalization

int nRows = I.rows;

int nCols = I.cols;

for( it = I.begin(), end = I.end(); it != end; it++ )

*it = (uchar)( 255 * Hist[(*it)] / (nRows * nCols) );

break;

}

case 3:

{

MatIterator_ it, end;

for( it = I.begin(), end = I.end(); it != end; it++ )

{

(*it)[0] = 255 - (*it)[0];

(*it)[1] = 255 - (*it)[1];

(*it)[2] = 255 - (*it)[2];

}

}

}

return I;

}

四、OpenCV2.4.3中的源代码:

CV_IMPL void cvEqualizeHist( const CvArr* srcarr, CvArr* dstarr )

{

CvMat sstub, *src = cvGetMat(srcarr, &sstub);

CvMat dstub, *dst = cvGetMat(dstarr, &dstub);

CV_Assert( CV_ARE_SIZES_EQ(src, dst) && CV_ARE_TYPES_EQ(src, dst) && CV_MAT_TYPE(src->type) == CV_8UC1 );

CvSize size = cvGetMatSize(src);

if( CV_IS_MAT_CONT(src->type & dst->type) )

{

size.width *= size.height;

size.height = 1;

}

int x, y;

const int hist_sz = 256;

int hist[hist_sz];

memset(hist, 0, sizeof(hist));

for( y = 0; y < size.height; y++ )

{

const uchar* sptr = src->data.ptr + src->step*y;

for( x = 0; x < size.width; x++ )

hist[sptr[x]]++;

}

float scale = 255.f/(size.width*size.height);

int sum = 0;

uchar lut[hist_sz+1];

for( int i = 0; i < hist_sz; i++ )

{

sum += hist[i];

int val = cvRound(sum*scale);

lut[i] = CV_CAST_8U(val);

}

lut[0] = 0;

for( y = 0; y < size.height; y++ )

{

const uchar* sptr = src->data.ptr + src->step*y; uchar* dptr = dst->data.ptr + dst->step*y;

for( x = 0; x < size.width; x++ )

dptr[x] = lut[sptr[x]];

}

}

数字图像处理实验报告

实验一灰度图像直方图统计 一、实验目的 掌握灰度图像直方图的概念和计算方法,了解直方图的作用和用途。提高学生编程能力,巩固所学知识。 二、实验内容和要求 (1)用Photoshop显示、了解图像平均明暗度和对比度等信息; (2)用MatLab读取和显示一幅灰度图像; (3)用MatLab编写直方图统计的程序。 三、实验步骤 1. 使用Photoshop显示直方图: 1)点击文件→打开,打开一幅图像; 2)对图像做增强处理,例如选择图像→调整→自动对比度对图像进行灰度拉伸,观察图像进行对比度增强前后的视觉变化。 3)利用统计灰度图像直方图的程序分别针对灰度拉伸前后的灰度图像绘制其灰度直方图,观察其前后的直方图变化。 2.用MatLab读取和显示一幅灰度图像; 3. 绘制图像的灰度直方图; function Display_Histogram()

Input=imread('timg.jpg'); figure(100); imshow(uint8(Input)); title('原始图像'); Input_Image=rgb2gray(Input); figure(200); imshow(uint8(Input_Image)); title('灰度图像'); sum=0; His_Image=zeros(1,256); [m,n]=size(Input_Image); for k=0:255 for I=1:m for j=1:n if Input_Image(I,j)==k His_Image(k+1)=His_Image(k+1)+1; end end end end figure(300); plot(His_Image); title('图像的灰度直方图'); 4.显示图像的灰度直方图。

直方图均衡化处理教学内容

实验 1.直方图均衡化程序的原理及步骤 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某灰度区间变成在全部灰度范围内的均匀分布。 直方图均衡化的原理: 直方图均衡化是把原图像的直方图通过灰度变换函数修正为灰度均匀分布的直方图,然后按均衡直方图修正原图像,其变换函数取决于图像灰度直方图的累积分布函数。概括地说,就是把一已知灰度概率分布的图像,经过一种变换,使之演变成一幅具有均匀概率分布的新图像。当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来更清晰。灰度直方图用各灰度值出现的相对频数(该灰度级的像素数与图像总像素数之比)表示。 直方图表示数字图像中每一灰度级与其出现频数的的统计关系,用横坐标表示灰度级,纵坐标表示频数。直方图就能给出该图像的概貌性描述,例如图像的灰度范围、每个灰度级的频数和灰度的分布、整幅图像的亮度和平均明暗对比度等,由此可得出进一步处理的重要依据。计算每个灰度级出现的概率为: P r (r k )=N k /N k=0,1,2,…,L-1 上式中, P r (r k )表示第k 个灰度级出现的概率,N k 为第 k 个灰度级出现的频数,N 为图像像素总数,L 为图像中可能的灰度级总数。由此可得直方图均衡化变换函数,即图像的灰度累积分布函数Sk 为: 1,...,2,1,0)()(00-====∑∑==L k r P r T s k j N N k j j r k k j 上式中, S k 为归一化灰度级。 这个变换映射称做直方图均衡化或直方图线性化。 直方图均衡化过程如下: (1) 输出原图像; (2) 根据公式P r (r k )=n k /m*n ( k=0,1,2,…,L-1)计算对应灰度级出现的概率, 绘制原图像的直方图。 (3) 计算原图象的灰度级累积分布函数:sk=Σp r (r k ); (4) 取整Sk=round((S1*256)+0.5);将Sk 归一到相近的灰度级,绘制均衡化后的 直方图。 (5) 将每个像素归一化后的灰度值赋给这个像素,画出均衡化后的图像。 2.根据直方图均衡化步骤对输入的原图象进行处理,输出的图像如下图所示。

matlab图像处理图像灰度变换直方图变换

附录1 课程实验报告格式 每个实验项目包括:1)设计思路,2)程序代码,3)实验结果,4)实验中出现的问题及解决方法。 实验一:直方图灰度变换 A:读入灰度图像‘debye1.tif’,采用交互式操作,用improfile绘制一条线段的灰度值。 imread('rice.tif'); imshow('rice.tif'),title('rice.tif'); improfile,title('主对角线上灰度值')

B:读入RGB图像‘flowers.tif’,显示所选线段上红、绿、蓝颜色分量的分布imread('flowers.tif'); imshow('flowers.tif'),title('flowers.tif'); improfile,title('主对角线红绿蓝分量') C:图像灰度变化 f=imread('rice.png'); imhist(f,256); %显示其直方图 g1=imadjust(f,[0 1],[1 0]); %灰度转换,实现明暗转换(负片图像) figure,imshow(g1)%将0.5到0.75的灰度级扩展到范围[0 1] g2=imadjust(f,[0.5 0.75],[0 1]); figure,imshow(g2) 图像灰度变换处理实例: g=imread('me.jpg'); imshow(g),title('原始图片'); h=log(1+double(g)); %对输入图像对数映射变换 h=mat2gray(h); %将矩阵h转换为灰度图片

h=im2uint8(h); %将灰度图转换为8位图 imshow(h),title('转换后的8位图'); 运行后的结果: 实验二:直方图变换 A:直方图显示 I=imread('cameraman.tif'); %读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题运行结果如下:

直方图均衡化处理

实验1.直方图均衡化程序的原理及步骤 直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某灰度区间变成在全部灰度范围内的均匀分布。 直方图均衡化的原理: 直方图均衡化是把原图像的直方图通过灰度变换函数修正为灰度均匀分布的直方图,然后按均衡直方图修正原图像,其变换函数取决于图像灰度直方图的累积分布函数。概括地说,就是把一已知灰度概率分布的图像,经过一种变换,使之演变成一幅具有均匀概率分布的新图像。当图像的直方图为一均匀分布时,图像的信息熵最大,此时图像包含的信息量最大,图像看起来更清晰。灰度直方图用各灰度值出现的相对频数(该灰度级的像素数与图像总像素数之比)表示。 直方图表示数字图像中每一灰度级与其出现频数的的统计关系,用横坐标表示灰度级,纵坐标表示频数。直方图就能给出该图像的概貌性描述,例如图像的灰度范围、每个灰度级的频数和灰度的分布、整幅图像的亮度和平均明暗对比度等,由此可得出进一步处理的重要依据。计算每个灰度级出现的概率为: P r(r k)=N k/N k=0,1,2,…,L-1 上式中,P r(r k)表示第k个灰度级出现的概率,N k为第k个灰度级出现的频数,N为图像像素总数,L 为图像中可能的灰度级总数。由此可得直方图均衡化变换函数,即图像的灰度累积分布函数Sk 为:上式中, S k 为归一化灰度级。这个变换映射称做直方图均衡化或直方图线性化。 直方图均衡化过程如下: (1)输出原图像; (2)根据公式P r(r k)=n k/m*n(k=0,1,2,…,L-1)计算对应灰度级出现的概率,绘制原图像的直方图。(3)计算原图象的灰度级累积分布函数:sk=Σp r(r k); (4)取整Sk=round((S1*256)+0.5);将Sk归一到相近的灰度级,绘制均衡化后的直方图。 (5)将每个像素归一化后的灰度值赋给这个像素,画出均衡化后的图像。 2.根据直方图均衡化步骤对输入的原图象进行处理,输出的图像如下图所示。 由上图可以看出,采用直方图均衡化后,可使图像的灰度间距拉开或使灰度均匀分布,从而增大反差,使图像更加清晰,达到增强的目的。但直方图均衡在对灰度呈现两端分布,同时在图像的低灰度区域有较多像素点的图像进行处理后, 得不到满意的效果,达不到突出图像细节的目的。针对上述直方图均衡化的弊端,可以先计算出图像的灰度直方图,然后将其灰度进行拉伸,以便改善图像增强效果。

数字图像处理试题及参考答案

一、填空题(每题1分,共15分) 1、列举数字图像处理的三个应用领域医学、天文学、军事 1024?,256个灰度级的图像,需要8M bit。 2、存储一幅大小为1024 3、亮度鉴别实验表明,韦伯比越大,则亮度鉴别能力越差。 4、直方图均衡化适用于增强直方图呈尖峰分布的图像。 5、依据图像的保真度,图像压缩可分为无损压缩和有损压缩 6、图像压缩是建立在图像存在编码冗余、像素间冗余、心理视觉冗余三种冗余基础上。 7、对于彩色图像,通常用以区别颜色的特性是色调、饱和度 亮度。 8、对于拉普拉斯算子运算过程中图像出现负值的情况,写出一种标定方法: 二、选择题(每题2分,共20分) 1、采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增强。(B ) A 图像整体偏暗 B 图像整体偏亮 C图像细节淹没在暗背景中D图像同时存在过亮和过暗背景 2、图像灰度方差说明了图像哪一个属性。(B ) A 平均灰度 B 图像对比度 C 图像整体亮度D图像细节 3、计算机显示器主要采用哪一种彩色模型( A ) A、RGB B、CMY或CMYK C、HSI D、HSV 4、采用模板[-1 1]T主要检测( A )方向的边缘。 A.水平 B.45? C.垂直 D.135? 5、下列算法中属于图象锐化处理的是:( C ) A.低通滤波 B.加权平均法 C.高通滤波 D. 中值滤波 6、维纳滤波器通常用于( C ) A、去噪 B、减小图像动态范围 C、复原图像 D、平滑图像 7、彩色图像增强时, C 处理可以采用RGB彩色模型。 A. 直方图均衡化 B. 同态滤波 C. 加权均值滤波 D. 中值滤波 8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。 A. 逆滤波 B. 维纳滤波 C. 约束最小二乘滤波 D. 同态滤波 9、高通滤波后的图像通常较暗,为改善这种情况,将高通滤波器的转移函数加上一常数量以便引入 一些低频分量。这样的滤波器叫 B 。 A. 巴特沃斯高通滤波器 B. 高频提升滤波器 C. 高频加强滤波器 D. 理想高通滤波器 10、图象与灰度直方图间的对应关系是 B __ A.一一对应 B.多对一 C.一对多 D.都不 三、判断题(每题1分,共10分) 1、马赫带效应是指图像不同灰度级条带之间在灰度交界处存在的毛边现象。(√)

灰度图像直方图统计

1.灰度图像直方图统计实习报告 一、实习目的 在学习灰度图像直方图的概念、计算方法、性质和相关应用的基础上,应用Photoshop软件和编写灰度直方图统计程序,能初步掌握图像文件格式读写与图像数据处理,提高学生兴趣和编程能力,巩固所学知识。 二、实习内容 1.实习数据 E:\ 数字图像处理\实习一\Lena.raw 2.利用Photoshop显示图像的灰度直方图,从直方图上了解图像平均明暗度和对比度等信息。 3.要求利用C或C++语言编写灰度图像直方图统计的程序。 三、实习步骤 1.使用Photoshop显示直方图。 (1)点击“文件”-->“打开”,打开一幅图像,此处选取“lena.raw”; (2)点击“图像”-->“直方图”,显示图像的直方图;

(3)对图像做增强处理,例如选择“图像”-->“调整”-->“自动对比度”对图像进行灰度拉伸,然后再显示直方图,观察它的变化。 2.用C或C++编写显示直方图的程序。 具体代码如下: #include "stdio.h" #include "windows.h" void main() { FILE *fp; //文件类指针

fp=fopen("lena.raw","rb"); //打开二进制文件 if (fp==NULL) { printf("文件已损坏,请重新打开。 \n"); } else printf("文件已打开,已经生成.txt文档,请查看。\n"); BYTE PIXEL[512*512]; fread(PIXEL,1,512*512,fp);//二进制文件读取 fclose(fp);//关闭文件 int HistogramStat[256]; for(int i=0;i<256;i++) HistogramStat[i]=0;//赋初值 for (i=0;i<512*512;i++) { int a=PIXEL[i]; HistogramStat[a]++; } //统计像素个数 fp=fopen("灰度直方图.txt","rb"); fprintf(fp,"图像灰度,像素个数\n"); for (i=0;i<256;i++) { if (HistogramStat[i]!=0) fprintf(fp,"%5d,%5d\n",i,HistogramStat[i]); } fprintf(fp,"像素个数为0的已被省略。");//输出内容 } 四、思考题 1灰度直方图可以反映出一幅图像的哪些特性? 答:(1)表征了图像的一维信息。只反映图像中像素不同灰度出现的次数,而未反映像素所在的位置。即丢失了像素的位置信息。 (2)与图像之间的关系式多对一的映射关系。一幅图像唯一确定出与之对应的直方图,但不同的图像可能有相同的直方图。 (3)一幅图像可分为多个子区域,子图直方图之和为整图的直方图。 2灰度直方图有何用途?编程实现一种灰度直方图应用的程序。 答:(1)用于判断图像量化是否恰当。 (2)用于确定图像的二值化阈值。 (3)计算图像中物体的面积。 (4)计算图像信息量H(熵)。 3在本次实习的基础上,试编写直方图均衡的程序。 五、实习心得体会

图像直方图的均衡化处理图的均衡化

图像直方图的均衡化处理 一,技术要求 1.1,利用matlab提供的函数处理 (2) 1.2,利用matlab自行编辑代码处理 (3) 二,基本原理 (3) 2.1,直方图的均衡化 (3) 2.2,直方图的标准化 (3) 三,建立模型描述 ......................................................................... 3~4 3.1,利用matlab提供的函数处理 (4) 3.2,利用matlab自行编辑代码 (4) 四,源程序代码 ............................................................................. 5~6 4.1,绘制图像直方图的代码 (5) 4.2,绘制图像均衡化后直方图的代码 (5) 4.3,显示均衡化后图像的代码 (6) 五,调试过程及结论 ..................................................................... 6~8 5.1,在编辑窗口键入绘制直方图的源代码得到的输出结果为图2 (6) 5.2,利用matlab函数绘制的图像直方图标准化的输出结果如图3..7 5.3,直方图均衡化输出结果如图4所示。 (8) 六,心得体会 (9) 七,参考文献 (9)

图像直方图的均衡化处理 一,技术要求 1.1,利用matlab提供的函数处理 利用matlab提供的函数画出一幅图像的直方图,对其进行均衡化和标准化处理,并比较均衡化(标准化)后图像和原图像的区别。 1.2,利用matlab自行编辑代码处理 利用matlab自行编辑代码,实现一幅图像的直方图显示和均衡化的处理,同样比较处理前后两幅图像的区别,了解图像均衡化的效果和实际运用。 二,基本原理 直方图是多种空域处理技术的基础。它能有效的用于图像增强。 2.1,直方图的均衡化 直方图的均衡化是把原始图像的灰度直方图从比较集中的某个区域变成全部灰度范围内的均匀分布,实际上是对图像进行非线性拉伸。使一定灰度范围内的像素个数大致相同。这样就能增强图像的局部对比度,亮度可以更好的在直方图上分布。 2.2,直方图的标准化 直方图的标准化实际上原理和直方图的均衡化原理大致相同,也是将原始图像的灰度值从比较集中地部分扩展到较大范围内的均匀分布,但是它和均衡化的不同在于均衡化是将灰度值范围变成全部灰度范围的均匀分布,而标准化是将灰度值范围扩展到一个相对以前要大一些的范围内,并不要求要变成全部灰度范围内的均匀分布。 三,建立模型描述 3.1,利用matlab提供的函数处理

基于灰度直方图的图像分割阈值自适应选取方法

中北大学 毕业设计(论文)任务书 学院、系: 专业: 学生姓名:车永健学号: 设计(论文)题目:基于灰度直方图的图像分割阈值自适应选取方法 起迄日期: 2015年3月9日~2015年6月20日设计(论文)地点: 指导教师:郭晨霞 系主任: 发任务书日期:2015年 2 月25 日

任务书填写要求 1.毕业设计(论文)任务书由指导教师根据各课题的具体情况填写,经学生所在系的负责人审查、系领导签字后生效。此任务书应在毕业设计(论文)开始前一周内填好并发给学生; 2.任务书内容必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,不得随便涂改或潦草书写,禁止打印在其它纸上后剪贴; 3.任务书内填写的内容,必须和学生毕业设计(论文)完成的情况相一致,若有变更,应当经过所在专业及系主管领导审批后方可重新填写; 4.任务书内有关“学院、系”、“专业”等名称的填写,应写中文全称,不能写数字代码。学生的“学号”要写全号(如020*******,为10位数),不能只写最后2位或1位数字; 5.有关年月日等日期的填写,应当按照国标GB/T 7408—94《数据元和交换格式、信息交换、日期和时间表示法》规定的要求,一律用阿拉伯数字书写。如“2004年3月15日”或“2004-03-15”。

毕业设计(论文)任务书

毕业设计(论文)任务书 3.对毕业设计(论文)课题成果的要求〔包括毕业设计(论文)、图纸、实物样品等): 1、论文一份; 2、程序代码及图像结果; 3、英文翻译一份。 4.毕业设计(论文)课题工作进度计划: 起迄日期工作内容 2015年 3月 9 日~ 3 月20日 4 月 1 日~ 4月 20 日 4 月 21 日~ 5月 10 日 5 月 11 日~ 6月 15 日 6 月 16 日~ 6月 19 日查找资料,完成开题报告; 学习有关知识,方案确定,完成中期报告;完善算法并仿真验证; 撰写、修改、评阅毕业论文; 论文答辩 学生所在系审查意见: 系主任: 年月日

直方图均衡化

图像增强是数字图像处理的基本内容。遥感图像增强是为特定目的,突出遥感图像中的某些信息,削弱或除去某些不需要的信息,使图像更易判读。图像增强的实质是增强感兴趣目标和周围背景图像间的反差。它不能增加原始图像的信息,有时反而会损失一些信息。它也是计算机自动分类一种预处理方法。 目前常用的图像增强处理技术可以分为两 大类:空间域和频率域的处理。主要内容包括基于直方图的处理、图像平滑以及图像锐化等。空间域处理是指直接对图像进行各种运算以得到需要的增强结果。频率域处理是指先将空间域图像变换成频率域图像,然后在频率域中对图像的频谱进行处理,以达到增强图像的目的。 6.2.1 图像灰度的直方图 图像灰度直方图反映了一幅图像中灰度级 与其出现概率之间的关系。对于数字图像,由于图像空间坐标和灰度值都已离散化,可以统计出灰度等级的分布状况。数字图像的

灰度编码从0,1,2,…,2n-1(n为图像量化时的比特数),每一个灰度级的像元个数mi可以从图像中统计出来,整幅图像的像元数为M,则任意灰度级出现的频率为: (6-20) (6-21) 由2n个P值即可绘制出数字图像的灰度直方图,如图6-5。图像直方图随图像不同而不同,不同图像有不同的直方图。 图6-5数字图像直方图 灰度直方图可以看成是一个随机分布密度函数,其分布状态用灰度均值和标准差两个参数来衡量。灰度均值为: (6-22)

式中:为整幅图像灰度平均值; X ij为(i,j)处像元的灰度值; R为图像行数; L为图像列数; M=R*L为图像像元总数; 标准差: Xi:i处像元的灰度值 直方图分布状态不同,图像特征不同,如图6-6所示。

数字图像处理试题集(终版)

第一章引言 一.填空题 1. 数字图像是用一个数字阵列来表示的图像。数字阵列中的每个数字,表示数字图像的一个最小单位,称为_像素_。 2. 数字图像处理可以理解为两个方面的操作:一是从图像到图像的处理,如图像增强等;二是_从图像到非图像的一种表示_,如图像测量等。 3. 数字图像处理可以理解为两个方面的操作:一是_从图像到图像的处理_,如图像增强等;二是从图像到非图像的一种表示,如图像测量等。 4. 图像可以分为物理图像和虚拟图像两种。其中,采用数学的方法,将由概念形成的物体进行表示的图像是虚拟图像_。 5. 数字图像处理包含很多方面的研究内容。其中,_图像重建_的目的是根据二维平 面图像数据构造出三维物体的图像。 二.简答题 1. 数字图像处理的主要研究内容包含很多方面,请列出并简述其中的5种。 ①图像数字化:将一幅图像以数字的形式表示。主要包括采样和量化两个过程。 ②图像增强:将一幅图像中的有用信息进行增强,同时对其无用信息进行抑制,提高图像的可观察性。 ③图像的几何变换:改变图像的大小或形状。 ④图像变换:通过数学映射的方法,将空域的图像信息转换到频域、时频域等空间上进行分析。 ⑤图像识别与理解:通过对图像中各种不同的物体特征进行定量化描述后,将其所期望获得的目标物进行提取,并且对所提取的目标物进行一定的定量分析。 2. 什么是图像识别与理解? 图像识别与理解是指通过对图像中各种不同的物体特征进行定量化描述后,将其所期望 获得的目标物进行提取,并且对所提取的目标物进行一定的定量分析。比如要从一幅照片上确定是否包含某个犯罪分子的人脸信息,就需要先将照片上的人脸检测出来,进而将检测出来的人脸区域进行分析,确定其是否是该犯罪分子。 4. 简述数字图像处理的至少5种应用。 ①在遥感中,比如土地测绘、气象监测、资源调查、环境污染监测等方面。 ②在医学中,比如B超、CT机等方面。 ③在通信中,比如可视电话、会议电视、传真等方面。 ④在工业生产的质量检测中,比如对食品包装出厂前的质量检查、对机械制品质量的监控和筛选等方面。 ⑤在安全保障、公安方面,比如出入口控制、指纹档案、交通管理等。 5. 简述图像几何变换与图像变换的区别。 ①图像的几何变换:改变图像的大小或形状。比如图像的平移、旋转、放大、缩小等,这些方法在图像配准中使用较多。 ②图像变换:通过数学映射的方法,将空域的图像信息转换到频域、时频域等空间上进行分析。比如傅里叶变换、小波变换等。

绘制数字图像灰度直方图实验报告MATLAB实现

数字图像处理 实验报告 实验一绘制直方图 学号 姓名 日期

实验一绘制直方图 一、实验内容 1、编程绘制数字图像的直方图。 2、直方图均衡处理。 二、实验步骤 1、设计思想或者流程图。 灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 2、源程序并附上注释。 clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('1.jpg');%读入JPG彩色图像文件 imshow(PS)%显示出来 title('输入的彩色JPG图像') imwrite(rgb2gray(PS),'PicSampleGray.bmp');%将彩色图片灰度化并保存 PS=rgb2gray(PS);%灰度化后的数据存入数组 %二,绘制直方图 [m,n]=size(PS);%测量图像尺寸参数 GP=zeros(1,256);%预创建存放灰度出现概率的向量for k=0:255 GP(k+1)=length(find(PS==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置 end figure,bar(0:255,GP,'g')%绘制直方图 title('原图像直方图') xlabel('灰度值') ylabel('出现概率') %三,直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i);%计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率

图像处理实验3(习题教学)

昆明理工大学信息工程与自动化学院学生实验报告 (2016—2017学年第一学期) 课程名称:数字图像基础开课实验室: 2016年月日 年级、专业、班学号姓名成绩 实验项目名称图像增强(1)指导教师 教师评语 该同学是否了解实验原理: A.了解□ B.基本了解□ C.不了解□ 该同学的实验能力: A.强□ B.中等□ C.差□ 该同学的实验是否达到要求: A.达到□ B.基本达到□ C.未达到□ 实验报告是否规范: A.规范□ B.基本规范□ C.不规范□ 实验过程是否详细记录: A.详细□ B.一般□ C.没有□ 教师签名: 2016年 11月 16日 一、实验目的及内容 目的:掌握和熟悉Matlab编程环境及语言;掌握直方图统计的算法和用途。 内容: 1.调试教材P25页例 2.1输出类似教材图2.3的结果。 2.调试教材P33页例2.4,编写一个程序,分别使用imhist、bar、stem、plot四种方式 显示一幅灰度图像的直方图 3.调试教材P37页例2.5。 4.直方图均衡化的公式如下所示: 11 ()() k k j k k r j j j n s T r p r n == === ∑∑ 根据上式及课堂所讲直方图均衡化原理及方法,自己写一个Matlab函数实现对灰度图像的直方图均衡化功能(类似于Matlab提供的hist eq函数)。(提示:实现中使用Matlab函数cumsum(P38)可能会使程序简单些)。

二、要求 1.描述直方图的概念并解释直方图均衡化原理。 2.程序结构清晰,运行结果正确。 3.对于第1、2、3小题在实验报告中给出所调试的程序,及其运行结果,对第4小题 描述程序的设计、实现和结果,并对结果进行分析。

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化、均衡化的基本原理。并以分辨率为5*4,图像的深度6bit 的图像为例,自举例说明直方图均衡化的计算过程。 解答: 数字图像的直方图是作为图像每一个灰度级的统计概率分布"它提供了图像灰度分布的概貌,直方图增强技术正是利用修改给定图像直方图的方法来增强图像的,最后得到的图像增强程度取决于我们所采用的直方图。令变量r 和s 分别代表图像增强前后的像素灰度级,相应灰度级分布的概率密度分别为()r P r 和()s P s 。 为讨论方便,假设像素灰度值已经归一化在区间[0,1],在灰度级坐标中r=0表示黑,r=1表示白。对区间[0,1]内任一个r 值按变换函数: s = T(r) (1) 进行变换,T (r )满足两个条件:(1)单值单调递增函数;(2) 0≤T (r )≤1。 条件(1)使灰度级保持从黑到白的次序,条件(2)保证映射变换后像素灰度值在允许的范围内。从s 到r 的反变换为:1()r T s -=,0≤s ≤1。 (2) 同样,规定变量s 也满足条件(1)和(2)。由概率理论知,若()r P r 和变换函数s = T(r) 已知,1()r T s -=是单值单调增加函数,则有: 1() ()[P () ]s r r T s dr P s r ds -== (3) 直方图增强技术就是通过变换函数T (r )控制图像灰度级的概率密度函数而改变图像的外貌。 对于连续图像,变换函数为: ()(),01r r s T r P r dr r ==≤≤? (4) 此式右边为累积分布函数(CDF ),由该式对r 求导有: ()r ds P r dr = (5) 代入(3)得到: 1()1 ()[() ]1,01() r r T s r P s P r s P r -===≤≤ (6) 这说明,在变换后变量s 在定义域内, ()s P s 是均匀概率密度。在图像增强意义上,这 相当于像素的动态范围增加。 对于离散图像,灰度级k r 的概率值为: (),01,0,1,2, (1) r k k n P r r k L n = ≤≤=- (7) 其中,n 表示图像中像素的总数,k n 是在图像中出现这种灰度级的次数,L 表示灰度级

遥感数字图像处理习题与答案

《遥感数字图像处理》习题与答案 第一部分 1.什么是图像并说明遥感图像与遥感数字图像的区别。 答:图像(image)是对客观对象的一种相似性的描述或写真。图像包含了这个客观对象的信息。是人们最主要的信息源。 按图像的明暗程度和空间坐标的连续性划分,图像可分为模拟图像和数字图像。模拟图像(又称光学图像)是指空间坐标和明暗程度都连续变化的、计算机无法直接处理的图像,它属于可见图像。数字图像是指被计算机储存,处理和使用的图像,是一种空间坐标和灰度都不连续的、用离散数字表示的图像,它属于不可见图像。 2.怎样获取遥感图像 答:遥感图像的获取是通过遥感平台搭载的传感器成像来获取的。根据传感器基本构造和成像原理不同。大致可分为摄影成像、扫描成像和雷达成像三类。 m= 3.说明遥感模拟图像数字化的过程。灰度等级一般都取2m(m是正整数),说明8时的灰度情况。 答:遥感模拟图像数字化包括采样和量化两个过程。 ①采样:将空间上连续的图像变换成离散点的操作称为采样。空间采样可以将模拟图像具有的连续灰度(或色彩)信息转换成为每行有N个像元、每列有M个像元的数字图像。 ②量化:遥感模拟图像经离散采样后,可得到有M×N个像元点组合表示的图像,但其灰度(或色彩)仍是连续的,不能用计算机处理。应进一步离散、归并到各个区间,分别用有限个整数来表示,称为量化。 m=时,则得256个灰度级。若一幅遥感数字图像的量化灰度级数g=256级,则灰当8 度级别有256个。用0—255的整数表示。这里0表示黑,255表示白,其他值居中渐变。由于8bit就能表示灰度图像像元的灰度值,因此称8bit量化。彩色图像可采用24bit量化,分别给红,绿,蓝三原色8bit,每个颜色层面数据为0—255级。 4.什么是遥感数字图像处理它包括那些内容 答:利用计算机对遥感数字图像进行一系列的操作,以求达到预期结果的技术,称作遥感数字图像处理。 其内容有: ①图像转换。包括模数(A/D)转换和数模(D/A)转换。图像转换的另一种含义是为使图像处理问题简化或有利于图像特征提取等目的而实施的图像变换工作,如二维傅里叶变换、沃尔什-哈达玛变换、哈尔变换、离散余弦变换和小波变换等。 ②数字图像校正。主要包括辐射校正和几何校正两种。 ③数字图像增强。采用一系列技术改善图像的视觉效果,提高图像的清晰度、对比度,突出所需信息的工作称为图像增强。图像增强处理不是以图像保真度为原则,而是设法有选择地突出便于人或机器分析某些感兴趣的信息,抑制一些无用的信息,以提高图像的使用价值。 ④多源信息复合(融合)。 ⑤遥感数字图像计算机解译处理。

数字图像处理计算题复习精华版

30452 计算题复习
一、 直方图均衡化(P68)
对已知图像进行直方图均衡化修正。
例:表 1 为已知一幅总像素为 n=64×64 的 8bit 数字图像(即灰度级数为 8),各灰度级(出现的频率)分布
列于表中。要求将此幅图像进行均衡化修正(变换),并画出修正(变换)前后的直方图。
表1
原图像灰
度级 rk
r0=0 r1=1 r2=2 r3=3 r4=4 r5=5 r6=6 r7=7
原各灰度级 原分布概率
像素个数 nk pr(rk)
790
0.19
1023
0.25
850
0.21
656
0.16
329
0.08
245
0.06
122
0.03
81
0.02
解:对已知图像均衡化过程见下表:
原图像灰
度级 rk
原各灰度级 原分布概率 累积分布函
像素个数 nk
pr(rk)
数 sk 计
取整扩展
sk 并
r0=0
790
0.19
0.19
1
r1=1
1023
0.25
0.44
3
r2=2
850
0.21
0.65
5
r3=3
656
0.16
0.81
6
r4=4
329
0.08
0.89
6
r5=5
245
0.06
0.95
7
r6=6
122
0.03
0.98
7
r7=7
81
0.02
1.00
7
画出直方图如下:
确定映射 对应关系
rk→sk
0→1 1→3 2→5 3→6 4→6 5→7 6→7 7→7
新图像灰
度级 sk
1 3 5
新图像各灰 度级像素个
数 nsk
790 1023 850
新图像分 布概率
ps(sk)
0.19 0.25 0.21
6
985
0.24
7
448
0.11
1

数字图像实验报告二图像的灰度变换与直方图均衡

实验二图像的灰度变换与直方图均衡 一、实验目的 1.理解图像灰度变换与直方图均衡的定义; 2.掌握图像灰度变换与直方图均衡化的方法; 3.学会利用matlab编程实现灰度变换和直方图均衡的方法。 二、实验内容 1. 利用matlab语言直接编程实现图像的对比度调整; 2. 利用matlab语言编程实现图像的反转; 3. 利用matlab语言直接编程实现图像的二值化; 4. 利用matlab语言直接编程实现图像的直方图均衡化处理。 三、实验步骤 (一)利用matlab语言直接编程实现图像的对比度调整 实验代码如下: A=imread('E:\实验报告\数字图像处理实验报告\数字图像实验报告二通信五班韩奇20110803520\lena.jpg'); I=double(A); J=I*0.5+40; A1=uint8(J); figure(1);subplot(1,2,1),imshow(A); subplot(1,2,2),imshow(A1); J=I*1+40; A1=uint8(J); figure(2);subplot(1,2,1),imshow(A); subplot(1,2,2),imshow(A1); J=I*3+40; A1=uint8(J); figure(3);subplot(1,2,1),imshow(A); subplot(1,2,2),imshow(A1); J=exp(I); A1=uint8(J); figure(4);subplot(1,2,1),imshow(A);

subplot(1,2,2),imshow(A1); 生成图像如下:

数字图像处理计算题复习精华版

30452计算题复习 一、直方图均衡化(P68) 对已知图像进行直方图均衡化修正。 例:表1为已知一幅总像素为n=64×64的8bit数字图像(即灰度级数为8),各灰度级(出现的频率)分布列于表中。要求将此幅图像进行均衡化修正(变换),并画出修正(变换)前后的直方图。 表1 解:对已知图像均衡化过程见下表: 画出直方图如下:

(a )原始图像直方图 (b )均衡化后直方图 **以下部分不用写在答题中。 其中: ① r k 、n k 中k = 0,1,…,7 ② p r (r k ) = n k /n ,即计算各灰度级像素个数占所有像素个数的百分比,其中∑==k j j n n 0 ,在此题中n =64×64。 ③ ∑== k j j r k r p s 0 )(计,即计算在本灰度级之前(包含本灰度级)所有百分比之和。 ④ ]5.0)1int[(+-=计并k k s L s ,其中L 为图像的灰度级数(本题中L = 8),int[ ]表示对方括号中的数字取整。 ⑤ 并k k s s = ⑥ n sk 为映射对应关系r k →s k 中r k 所对应的n k 之和。 ⑦ n n s p sk k s /)(=,或为映射对应关系r k →s k 中r k 所对应的p r (r k )之和。

二、 模板运算 使用空间低通滤波法对图像进行平滑操作(P80) 空间低通滤波法是应用模板卷积方法对图像每一个像素进行局部处理。模板(或称掩模)就是一个滤波器,它的响应为H (r ,s ),于是滤波输出的数字图像g(x ,y )用离散卷积表示为 )6.2.4() ,(),(),(∑∑-=-=--= l l s k k r s r H s y r x f y x g 式中:x ,y = 0,1,2,…,N -1;k 、l 根据所选邻域大小来决定。 具体过程如下: (1)将模板在图像中按从左到右、从上到下的顺序移动,将模板中心与每个像素依次重合(边缘像素除外); (2)将模板中的各个系数与其对应的像素一一相乘,并将所有的结果相加; (3)将(2)中的结果赋给图像中对应模板中心位置的像素。 对于空间低通滤波器而言,采用的是低通滤波器。由于模板尺寸小,因此具有计算量小、使用灵活、适于并行计算等优点。常用的3*3低通滤波器(模板)有: 模板不同,邻域各像素重要程度也就不同。但无论怎样的模板,必须保证全部权系数之和为1,这样可保证 输出图像灰度值在许可围,不会产生灰度“溢出”现象。 1 7 1 8 1 7 1 1 1 1 1 5 1 1 1 1 1 1 5 5 5 1 1 7 1 1 5 5 5 1 8 1 8 1 1 5 1 1 1 1 8 1 1 5 1 1 8 1 1 1 1 5 1 1 1 1 1 7 1 8 1 7 1 1 解:低通滤波的步骤为: (1)将模板在图像中按从左到右、从上到下的顺序移动,将模板中心与每个像素依次重合(边缘像素除外); (2)将模板中的各个系数与其对应的像素一一相乘,并将所有的结果相加; (3)将(2)中的结果赋给图像中对应模板中心位置的像素。 如图中第2行第2列处的值 = (1*1+1*7+1*1+1*1+2*1+1*1+1*1+1*1+1*5)/10 = 2 (其他位置同样方法计算可得)

图像处理实验报告

摘要: 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 设计要求 可视化界面,采用多幅不同形式图像验证系统的正确性; 合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化; 1.课题目的与要求 目的: 基本功能:彩色图像转灰度图像 图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘 图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求: 1、熟悉图像点运算、代数运算、几何运算的基本定

义和常见方法; 2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法 3、掌握在MATLAB中进行插值的方法 4、运用MATLAB语言进行图像的插值缩放和插值旋转等 5、学会运用图像的灰度拉伸方法 6、学会运用图像的直方图设计和绘制;以及均衡化和规定化 7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际2.课题设计内容描述 1>彩色图像转化灰度图像: 大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。 真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。 在一些特殊环境下需要将真彩色转换成灰度图像。 1单独处理每一个颜色分量。 2.处理图像的“灰度“,有时候又称为“高度”。边缘加强,平滑,去噪,加 锐度等。 3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。 2>图像的几何空间变化: 图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。 图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。 旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。

数字图像处理实验一 图像的灰度变换

数字图像处理实验报告 (一) 班级:测控1002 姓名:刘宇 学号:06102043

实验一图像的灰度变换 1. 实验任务 熟悉MATLAB软件开发环境,掌握读、写图像的基本方法。 理解图像灰度变换在图像增强的作用,掌握图像的灰度线性变换和非线性变换方法。 掌握绘制灰度直方图的方法,掌握灰度直方图的灰度变换及均衡化的方法。2. 实验环境及开发工具 Windws2000/XP MATLAB 7.x 3. 实验原理 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。在实际应用中,为了突出图像中感兴趣的研究对象,常常要求局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 图1.1 不同的分段线性变换 其对应的数学表达式为:

直方图均衡化 灰度直方图的横坐标是灰度级,纵坐标是该灰度级出现的频度,它是图像最基本的统计特征。依据定义,在离散形式下,用rk 代表离散灰度级,用pr(rk)代表pr(r),并且有下式成立: n n r P k k r = )( 1,,2,1,010-=≤≤l k r k 式中:nk 为图像中出现rk 级灰度的像素数,n 是图像像素总数,而nk/n 即为频数。 直方图均衡化处理是以累积分布函数变换法为基础的直方图修正法。假定变换函数为 ω ωd p r T s r r )()(0 ?== (a) Lena 图像 (b) Lena 图像的直方图 图1.2 Lena 图像及直方图 当灰度级是离散值时,可用频数近似代替概率值,即 1 ,,1,010)(-=≤≤= l k r n n r p k k k r

相关文档
最新文档