搜档网
当前位置:搜档网 › 绘制数字图像灰度直方图实验报告MATLAB实现

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

绘制数字图像灰度直方图实验报告MATLAB实现
绘制数字图像灰度直方图实验报告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)));%计算现有每个灰度级出现的概率

end

figure,bar(0:255,GPeq,'b')%显示均衡化后的直方图

title('均衡化后的直方图')

xlabel('灰度值')

ylabel('出现概率')

%四,图像均衡化

PA=PS;

for i=0:255

PA(find(PS==i))=S2(i+1);%将各个像素归一化后的灰度值赋给这个像素

end

figure,imshow(PA)%显示均衡化后的图像

title('均衡化后图像')

imwrite(PA,'PicEqual.bmp');

3、程序运行结果比较。(包括结论)

原始图像

原图像直方图

通过原始图像和均衡化后的图像对比,均衡化后图像由彩色图像变为了灰度图像。原始图像直方图与均衡化后直方图对比,均衡化后的直方图灰度值更加平均,在整幅图像中不在集中。

4、实验体会。(心得体会、收获)

通过此次实验,我学会了对matlab的基本操作,能够在matlab下进行简单的编程、调试和修改操作。同时我知道了直方图均衡化是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布,就是把对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的图像数量大致相同。通过图像间的对比,我发现变换后的图像某些细节会消失。

数字图像处理实验报告

实验一灰度图像直方图统计 一、实验目的 掌握灰度图像直方图的概念和计算方法,了解直方图的作用和用途。提高学生编程能力,巩固所学知识。 二、实验内容和要求 (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.显示图像的灰度直方图。

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

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('原始图像直方图') %在原图直方图上加标题运行结果如下:

灰度变换_原理_及Matlab程序

图像灰度变换 内容摘要 1 引言 通常经输入系统获取的图像信息中含有各种各样的噪声与畸变,例如室外光照度不够均匀会造成图像灰度过于集中;由摄像头获得的图像经过A/D转换、线路传送都会产生噪声污染等等,这些不可避免地影响系统图像清晰度,降低了图像质量,轻者表现为图像不干净,难以看清细节;重者表现为图像模糊不清,连概貌都看不出来。因此,在对图像经行分析前,必须对图像质量经行改善,一般情况下改善的方法有两类:图像增强和图像复原。图像增强的目的是设法改善图像的视觉效果,提高图像的可读性,将图像中感兴趣的特征有选择的突出,便于人与计算机的分析和处理。图像增强不考虑图像质量下降的原因,只将图像中感兴趣的特征有选择的突出,而衰减不需要的特征。灰度变换是图像增强处理中一种非常基础直接的空间域图像处理方法。灰度变换是根据某种条件按一定变换关系逐点改变原图像中每一个像素灰度值的方法。 1.灰度的线性变换 当图像由于成像时曝光不足或过度, 由于成像设备的非线性或图像记录设备动态范围太窄等因素, 都会产生对比度不足的弊病, 使图像中的细节分辨不清。这时如将图像灰度线性扩展, 常能显著改善图像的主观质量。假设原图像f (x, y ) 的灰度范围是[ a, b ] 希望变换后图像的灰度范围扩展到[ c, d ] 则: M f 表示f ( x, y ) 的最大值。在线性灰度变换中,灰度执照完全线性变换函数进行变换。该线性灰度线性变换函数f ( r ) 是一个一维线性函数: 其中, a 为线性变换的斜率, b 为线性变换函数在y 轴的截距, 如图1所示。

在灰度的线性变换中, 当a > 1时, 输出图像的对比度将增大; 当a < 1时, 输出图像的对比 度将减小; 当a = 1且b ?0时, 所进行的操作仅使所有像素的灰度值上移或下移, 其效果 是使整个图像更暗或更亮; 如果a < 0, 则暗区域将变亮, 亮区域将变暗。 2分段线性灰度变换 为了突出感兴趣的目标或者灰度区间, 相对抑制那些不感兴趣的灰度区域, 可采用分段线性法。常用的是三段线性变换。分段线性变换称为图像直方图的拉伸, 它与完全线性变换类似, 其不同之处在于其变换函数是分段的, 如图2所示: 其变换函数表达式如下: 灰度拉伸可以更加灵活地控制输出灰度直方图的分布, 它可以有选择地拉伸某段灰度区间以改善输出图像。图2所示的变换函数的运算结果是将原图在r1 和r2 之间的灰度拉伸到s1 和s2 之间。如果一幅图像灰度集中在较暗的区域而导致图像偏暗, 可以用灰度拉伸功能来拉伸(斜率> 1) 物体灰度区间以改善图像; 同样如果图像灰度集中在较亮的区域而导致图像偏亮, 也可以用灰度拉伸功能来压缩(斜率< 1) 物体灰度区间来改善图像质量。 3非线性灰度变换

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

实验二 图像灰度变换实验一、 实验目的熟悉亮度变换函数的使用熟悉灰度图像的直方图的表示;掌握图像增强的基本方法:灰度变换、直方图均衡;二、实验内容灰度线性变换、灰度直方图、直方图均衡处理;灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特征更加明显。灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像增强。三、实验原理1.函数imadjust 函数imadjust 是对灰度图像进行亮度变换的基本命令,语法为: g = imadjust(f, [low_in high_in], [low_out high_out], gamma) 将图像f 中的亮度值(灰度值)映射到新图像g 中,即将low_in 至high_in 之间的值映射到low_out 至high_out 之间的值。low_in 以下的灰度值映射为low_out ,high_in 以上的灰度值映射为high_out ,函数imadjust 的矩阵[ ]内参数均指定在0和1之间,[low_in high_in]和[low_out high_out]使用空矩阵[ ]会得到默认值[0 1]。若high_out 小于low_out ,则输出图像会反转。 参数gamma 指定了曲线(变换函数)的形状,若gamma 小于1,则映射被加权至更高(更亮)的输出值;若gamma 大于1,则映射被加权至更低(更暗)的输出值。若省略了函数的参量gamma ,则gamma 默认为1——即线性映 射。 >>f = imread(‘filename’)>>imshow(f)>>g1 = imadjust(f, [0 1], [1 0]); %图像反转>>figure, imshow(g1) %figure 命令表示同时显示多个窗口 >>g2 = imadjust(f, [0.5 0.75], [0 1]); %将0.5至0.75之间的灰度级扩展到范围0和1之间 >>figure, imshow(g2) >>g3 = imadjust(f, [ ], [ ], 2) %使用gamma 值 >>figure, imshow(g3)

灰度图像直方图统计

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在本次实习的基础上,试编写直方图均衡的程序。 五、实习心得体会

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

中北大学 毕业设计(论文)任务书 学院、系: 专业: 学生姓名:车永健学号: 设计(论文)题目:基于灰度直方图的图像分割阈值自适应选取方法 起迄日期: 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 日查找资料,完成开题报告; 学习有关知识,方案确定,完成中期报告;完善算法并仿真验证; 撰写、修改、评阅毕业论文; 论文答辩 学生所在系审查意见: 系主任: 年月日

实验一Matlab图像处理基础及图像灰度变换

实验一Matlab图像处理基础及图像灰度变换 一、实验目的 了解Matlab平台下的图像编程环境,熟悉Matlab中的DIP (Digital Image Processing)工具箱;掌握Matlab中图像的表示方法,图像类型、数据类型的种类及各自的特点,并知道怎样在它们之间进行转换。掌握Matlab环境下的一些最基本的图像处理操作,如读图像、写图像、查看图像信息和格式、尺寸和灰度的伸缩等等;通过实验掌握图像直方图的描绘方法,加深直方图形状与图像特征间关系间的理解;加深对直方图均衡算法的理解。 二、实验内容 1.从硬盘中读取一幅灰度图像; 2.显示图像信息,查看图像格式、大小、位深等内容; 3.用灰度面积法编写求图像方图的Matlab程序,并画图; 4.把第3步的结果与直接用Matlab工具箱中函数histogram的结果进行比较,以衡量第3步中程序的正确性。 5.对读入的图像进行直方图均衡化,画出处理后的直方图,并比较处理前后图像效果的变化。 三、知识要点 1.Matlab6.5支持的图像图形格式 TIFF, JEPG, GIF, BMP, PNG, XWD (X Window Dump),其中GIF不支持写。 2.与图像处理相关的最基本函数 读:imread; 写:imwrite; 显示:imshow; 信息查看:imfinfo; 3.Matlab6.5支持的数据类 double, unit8, int8, uint16, int16, uint32, int32, single, char (2 bytes per element), logical. 4.Matlab6.5支持的图像类型 Intensity images, binary images, indexed images, RGB image 5.数据类及图像类型间的基本转换函数 数据类转换:B = data_class_name(A);

(完整版)数字图像处理试卷复习资料

█一、叙述常见的数字图像处理开发工具有哪些?各有什么特点?(10分) 答.目前图像处理系统开发的主流工具为Visual C++(面向对象可视化集成工具)和MATLAB的图像处理工具箱(Image Processing Tool box)。两种开发工具各有所长且有相互间的软件接口。 Microsoft公司的VC++是一种具有高度综合性能的面向对象可视化集成工具,用它开发出来的Win 32程序有着运行速度快、可移植能力强等优点。VC++所提供的Microsoft 基础类库MFC对大部分与用户设计有关的Win 32应用程序接口API进行了封装,提高了代码的可重用性,大大缩短了应用程序开发周期,降低了开发成本。由于图像格式多且复杂,为了减轻程序员将主要精力放在特定问题的图像处理算法上,VC++ 6.0提供的动态链接库ImageLoad.dll支持BMP、JPG、TIF等常用6种格式的读写功能。 Microsoft公司的VC++是一种具有高度综合性能的面向对象可视化集成工具,开发出来的Win 32程序有着运行速度快、可移植能力强等优点。VC++对WIN32应用程序接口API 进行了封装,提高了代码的重用性,缩短了应用程序开发周期,降低了开发成本。VC++6.0提供的动态链接库imageload.dll支持BMP、JPG、TIF等六种格式的读写功能。MATLAB的图像处理工具箱MATLAB是由MathWorks公司推出的用于数值计算的有力工具,是一种第四代计算机语言,它具有相当强大的矩阵运算和操作功能,力求使人们摆脱繁杂的程序代码。MATLAB图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可以完成大部分图像处理工作,从而大大节省编写低层算法代码的时间,避免程序设计中的重复劳动。MATLAB图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和算法,如图形句柄、图像的表示、图像变换、二维滤波器、图像增强、四叉树分解域边缘检测、二值图像处理、小波分析、分形几何、图形用户界面等。但是,MATLAB也存在不足之处限制了其在图像处理软件中实际应用。首先,强大的功能只能在安装有MATLAB系统的机器上使用图像处理工具箱中的函数或自编的m文件来实现。其次,MATLAB使用行解释方式执行代码,执行速度很慢。第三,MATLAB擅长矩阵运算,但对于循环处理和图形界面的处理不及C++等语言。为此,通应用程序接口API和编译器与其他高级语言(如C、C++、Java等)混合编程将会发挥各种程序设计语言之长协同完成图像处理任务。API支持MATLAB与外部数据与程序的交互。编译器产生独立于MATLAB环境的程序,从而使其他语言的应用程序使用MATLAB。 MATLAB的图像处理工具箱MATLAB是由MathWorks 公司推出的用于数值计算的有力工具,是一种第四代计算机语言,它具有相当强大的矩阵运算和操作功能。MATLAB 图像处理工具箱提供了丰富的图像处理函数,灵活运用这些函数可以完成大部分图像处理工作。MATLAB图像处理工具箱涵盖了在工程实践中经常遇到的图像处理手段和算法。它的缺点有:1、强大的功能只能在安装有MATLAB 系统的机器上使用图像处理工具箱中的函数或自编的m文件来实现。2、MATLAB使用行解释方式执行代码,执行速度很慢。3、MATLAB擅长矩阵运算,但对于循环处理和图形界面的处理不及C++等语言。█二、叙述常见的数字图像应用软件有哪些?各有什么特 点?(10分) 答:图像应用软件是可直接供用户使用的商品化软件。用户 从使用功能出发,只要了解软件的操作方法就可以完成图像 处理的任务。对大部分用户来说,商品化的图像应用软件无 需用户进行编程,操作方便,功能齐全,已经能满足一般需 求,因而得到广泛应用。常用图像处理应用软件有以下几种: 1)PHOTOSHOP:当今世界上一流的图像设计与制作工具。 PHOTOSHOP已成为出版界中图像处理的专业标准。高版 本的PHOTOSHOP支持多达20多种图像格式和TWAIN接 口,接受一般扫描仪、数码相机等图像输入设备采集的图像。 PHOTOSHOP支持多图层的工作方式,只是PHOTOSHOP 的最大特色。使用图层功能可以很方便地编辑和修改图像, 使平面设计充满创意。利用PHOTOSHOP还可以方便地对 图像进行各种平面处理、绘制简单的几何图形、对文字进行 艺术加工、进行图像格式和颜色模式的转换、改变图像的尺 寸和分辨率、制作网页图像等。 2)CorelDRAW:一种基于矢量绘图、功能强大的图形图像 制作与设计软件。矢量式图像以几何、色彩参数描述图像, 其内容以线条和色块为主,数据量较小。CorelDraw是当今 流行的图像处理软件中为数不多的特点明显、功能强大的基 于矢量绘图的软件包。利用它,可以方便地制作精美的名片、 贺卡、书签、图书封面、广告、宣传画等作品。 3)ACDSee:快速、高性能的看图程序,是目前最享盛名 的图片浏览器。它能广泛应用于图片的获取、管理、浏览和 优化,支持BMP、GIF、JPG、TGA、TIF等超过50种常见 的图形文件格式,图片打开速度极快,可以直接查看动画 GIF,处理如Mpeg之类常用的视频文件,还可以为每一个 目录建立一个相册。ACDSee可以从数码相机和扫描仪高效 获取图片,并进行便捷的查找、组织和预览。ACDSee可以 轻松处理数码影像。 █三、傅里叶变换、加窗傅里叶变换和小波变换的时间-频 率特性有什么不同?(10分) 解:傅里叶变换使得时间信号变成了频域信号,加窗傅里叶 变换使得时间信号变成了时频信号,但是窗口是固定的,小 波变换同样变成了视频信号,但是时频的窗口是变化的。 █四、用JPEG标准,对于576行×720列的CCIR601建议分辨 率的彩色图像,其亮度分量可分割成多少个子块,而两个 色差分量可分别分割成多少子块?(10分) 解:对于576行×720列的CCIR601建议分辨率的彩色图像, JPEG将其亮度分量分割成(576/8)×(720/8)=6480块。 两个色差分量都可分割成两组:(576/8)×(360/8)=3240 块。 █五、二维傅里叶变换的分离性有什么实际意义?(10分) 解:该性质表明,一个二维傅里叶变换可由连续两次 一维傅里叶变换来实现。实现的方法如下图所示: █六、有了离散傅里叶及其快速算法FFT,为什么还要提出 离散余弦算法DCT及其快速算法?为什么许多视频国际标 准将DCT作为帧内编码的基本压缩算法?(10分) 答:在所有的变换编码方案中,离散K-L变换是最佳变换, 理论价值较高,常常作为对其他变换特性进行评价的标准。 但此变换没有快速算法,在工程应用中受到限制。在次最 佳变换算法中,DFT和DCT都是常用的变换编码方法,它们 分别有快速算法:FFT和FCT。这两种方法相比较,DFT涉及 到复数运算,而DCT是实数变换具有十分吸引人的一些特 点:它是一种实数变换,计算量较小,其变换矩阵的基向 量很好地描述了人类视觉的相关性,且对于大多数图像来 说,该变换的压缩性能很接近离散K-L变换,而且其变换矩 阵与图像内容无关,另外由于它构造对称的数据序列,避 免了在图像边界处的跳跃及所引起的Gibbs效应,并且也有 快速算法,因而得到广泛的应用。作为准最佳变换,它已 成为一些静态图像、视频压缩国际标准(或建议)中的基 本处理模块。 █七、扫描仪的光学分辨率是600×1200线,一个具有5000 个感光单元的CCD器件,用于A4幅面扫描仪,A4幅面的纸张 宽度是8.3英寸,该扫描仪的光学分辨率是多少dpi?(10 分) 解:(1)600×1200线,其中前一个数字代表扫描仪的横向 分辨率,后一数字则代表纵向分辨率。 (2)dpi是指单位面积内像素的多少,也就是扫描精度, 目前国际上都是计算一英寸面积内像素的多少。光学分辨 率是扫描仪的光学部件在每平方英寸面积内所能捕捉到的 实际的光点数,是指扫描仪CCD 的物理分辨率,也是扫描仪 的真实分辨率,它的数值是由CCD的像素点除以扫描仪水平 最大可扫尺寸得到的数值。 每一个感光单元对应一个像素。由于CCD感光单元个 数为5000, 5000/8.3=602 (dpi) █八、直方图均衡,若一个64×64的离散图像,灰度分成8 层,其灰度rk的值和分布情况如下:请绘制该图像的直方 图,并求经过直方图均衡后的图像的直方图。 (20分) 解: █九、一图像大小为640×480,256色。用软件工具SEA (version 1.3)将其分别转成24位色BMP,24位色JPEG, GIF(只能转成256色)压缩格式,24位色TIFF压缩格式, 24位色TGA压缩格式,得到的文件大小分别为:921,654字 节;17,707字节;177,152字节;923,044字节;768,136字 节。分别计算每种压缩图像的压缩比。(10分) 解:不计算较小的文件头和彩色查找表(LTU)的数据量, 原始图像的数据量为: 640×480×1 byte=307,200 byte。 经转换后各种格式的压缩比如下: 24位色BMP格式: 307,200/921,654=0.333(增加了冗余度) 24位色JPEG格式: 307,200/17,707=17.35 GIF压缩格式: 307,200/177,152=1.73 24位色TIFF压缩格式: 307,200/923,044=0.333(增加了 冗余度) 24位色TGA压缩格式: 307,200/768,136=0.400(增加了冗 余度) █十、用JPEG标准,对于576行×720列的CCIR601建议分辨 率的彩色图像,其亮度分量可分割成多少个子块,而两个 色差分量可分别分割成多少子块?(10分) 解:对于576行×720列的CCIR601建议分辨率的彩色图像, JPEG将其亮度分量分割成(576/8)×(720/8)=6480块。 两个色差分量都可分割成两组:(576/8)×(360/8)=3240 块。 █十一、对下面的图像采用基于区域灰度差进行区域增长, 给出灰度差值 T①=1;T②=2;T③=3三种情况下的分割图像。(10分) 解: 十二、用4连通或8连通准则,判断如下图像中的目标。 (10 分) 1 1 1 0 0 0 0 0 解: 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 X 1) 2) 3) 四邻域:L4 = 1 1 1 0 0 0 0 0 1 1 1 0 3 3 0 0 1 1 0 0 3 3 0 0 1 1 0 0 0 3 3 0 0 1 0 0 0 0 3 0 2 0 2 0 0 0 3 0 2 2 2 0 0 3 3 0 2 2 2 0 0 0 0 0 八邻域:L8 = 1 1 1 0 0 0 0 0 1 1 1 0 2 2 0 0 1 1 0 0 2 2 0 0 1 1 0 0 0 2 2 0 0 1 0 0 0 0 2 0 1 0 1 0 0 0 2 0 1 1 1 0 0 2 2 0 1 1 1 0 0 0 0 0

绘制数字图像灰度直方图实验报告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)));%计算现有每个灰度级出现的概率

Matlab二维灰度图象分析及变换处理要点

《基础强化训练》设计报告 题目:二维灰度图象的统计分析及变换处理专业班级: 学生姓名: 指导教师: 2010 年7 月17 日

《基础强化训练》设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 二维灰度图象的统计分析及(FFT)变换处理 课程设计目的: ①较全面了解常用的数据分析与处理原理及方法; ②能够运用相关软件进行模拟分析; ③掌握基本的文献检索和文献阅读的方法; ④提高正确地撰写论文的基本能力。 课程设计内容和要求 ①采集一幅像素大于64*64黑白图像; ②常规的数学统计数据处理:计算图象各象素点灰度值得均值、标准差、方差,并绘出灰度直方图; ③采用[FFT(傅立叶变换)]对图像进行分析 初始条件: ①MATLAB软件。 ②数字信号处理与图像处理基础知识。 时间安排: 第18周周一:安排任务 19~20周:仿真设计(鉴主13楼计算机实验室) 第20周周六:完成(答辩,提交报告,演示) 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) Abstract (2) 1 数据采集 (3) 1.1图像的选取 (3) 1.2 MATLAB读取方法 (4) 1.2.1 编辑M文件 (4) 1.2.2 图像的读取 (4) 1.2.3查看图像的格式 (6) 1.2.4 灰度值的获取 (7) 2 数据统计处理 (8) 2.1 均值计算 (8) 2.1.1 原理及计算公式 (8) 2.1.2 计算程序及结果 (9) 2.2 各像素点灰度值的标准差 (9) 2.3 各像素点灰度值的方差 (10) 2.4 灰度直方图 (11) 3.傅立叶变化 (13) 3.1 原理及计算公式 (13) 3.2 变换及逆变换程序及结果 (14) 3.3对变换后的图像的说明 (16) 4.总结(心得体会) (17) 5.参考文献 (18)

数字图像处理试卷1.docx

-、单项选择题(从下列各题四个备选答案中选出一个?正确答案,并将其代号填在题前的括号内。答案选错或未作选择者,该题不得分。每小题1分,共10分) (d )1 ?一幅灰度级均匀分布的图象,其灰度范围在[0, 255],则该图象的信息量为: a. 0 b.255 c.6 d.8 (b )2?图象与灰度直方图间的对应关系是: a.—一对应 b.多对一 c.一对多 d.都不对 )3?下列算法屮属于局部处理的是: a.灰度线性变换b?二值化 c ?傅立叶变换d.中值滤波 )4 ?下列算法中属于点处理的是: a ?梯度锐化 b.二值化 c ?傅立叶变换d.中值滤波 )6.下列算法中属于图象平滑处理的是: a ?梯度锐化 b ?直方图均衡c?中值滤波 https://www.sodocs.net/doc/2c16970996.html,placian 增强 )7下列图象边缘检测算子屮抗噪性能最好的是: a.梯度算子 b.Prcwitt 算子 c.Roberts 算子 d. Laplacian 算子 )8?釆用模板[?1 1]主要检测___ 方向的边缘。 a.水平b?45。 c ?垂直 d.l35° (d )9 ?二值图象屮分支点的连接数为: a.O b.l d.3 a )10?対一幅100U00像元的图象,若每像元用8 bit表示其灰度值,经霍夫曼编码后 压缩图象的数据暈为40000bit,则图象的压缩比为: a.2:l b.3:l c.4:l d.l:2 二、填空题(每空1分,共15分) 1.图像锐化除了在空间域进行外,也可在频率域进行。 2.图像处理中常用的两种邻域是4■邻域和8■邻域o 3.直方图修正法包扌舌直方图均衡和直方图规定化两种方法。 6.低通滤波法是使高频成分受到抑制而让低频成分顺利通过,从而实现图像平滑 &一般來说,采样间距越大,图象数据量一少,质量差;反之亦然。 三、名词解释(每小题3分,共15分)

图像处理灰度变换实验

一. 实验名称:空间图像增强(一) 一.实验目的 1.熟悉和掌握利用matlab工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。 2.熟练掌握各种空间域图像增强的基本原理及方法。 3.熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。 4.熟悉直方图均衡化的基本原理、方法和实现。 二.实验原理 (一)数字图像的灰度变换 灰度变换是图像增强的一种经典而有效的方法。灰度变换的原理是将图像的每一个像素的灰度值通过一个函数,对应到另一个灰度值上去从而实现灰度的变换。常见的灰度变换有线性灰度变换和非线性灰度变换,其中非线性灰度变换包括对数变换和幂律(伽马)变换等。 1、线性灰度变换 1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清,图像缺少层次。这时,可将灰度范围进行线性的扩展或压缩,这种处理过程被称为图像的线性灰度变换。对灰度图像进行线性灰度变换能将输入图像的灰度值的动态范围按线性关系公式拉伸扩展至指定范围或整个动态范围。 2)令原图像f(x,y)的灰度范围为[a,b],线性变换后得到图像g(x,y),其灰度范围为[c,d],则线性灰度变换公式可表示为

a y x f b y x f a b y x f c c a y x f a b c d d y x g <≤≤>?????+---=),(),(),(, ,]),([,),( (1) 由(1)式可知,对于介于原图像f (x,y )的最大和最小灰度值之间的灰度值,可通过线性变换公式,一一对应到灰度范围[c,d]之间,其斜率为(d-c)/(b-a);对于小于原图像的最小灰度值或大于原图像的最大灰度值的灰度值,令其分别恒等于变换后的最小和最大灰度值。变换示意图如图1所示。 图1 线性灰度变换示意图 当斜率大于一时,变换后的灰度值范围得到拉伸,图像对比度得到提高;当斜率小于一时,变换后的灰度值范围被压缩,最小与最大灰度值的差变小,图像对比度降低;当斜率等于一时,相当于对图像不做变换。 3)由上述性质可知,线性灰度变换能选择性地加强或降低特定灰度值范围内的对比度,故线性灰度变换同样也可做分段处理:对于有价值的灰度范围,将斜率调整为大于一,用于图像细节;对于不重要的灰度范围,将图像压缩,降低对比度,减轻无用信息的干扰。最常用的分段线性变换的方法是分三段进行线性变换。 在原图像灰度值的最大值和最小值之间设置两个拐点,在拐点处,原图像的灰度值分别为r 1,r 2,该拐点对应的变换后的图像的灰度值分别为s 1,s 2,另外,取原图像灰度的最小值为r 0,最大值为r m ,对应的变换后的灰度值分别为s 0,s m 。

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

四、灰度直方图是数字图像处理的重要工作。请简述灰度直方图规定化、均衡化的基本原理。并以分辨率为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 表示灰度级

matlab图像的灰度变换

实验二 图像的灰度变换 一、实验目的 1、 理解数字图像处理中点运算的基本作用; 2、 掌握对比度调整与灰度直方图均衡化的方法。 二、实验原理 1、对比度调整 如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换: []n m y x f m M n N y x g +---=),(),(就可以实现这一要求。 MATLAB 图像处理工具箱中提供的imadjust 函数,可以实现上述的线性变换对比度调整。imadjust 函数的语法格式为: J = imadjust(I,[low_in high_in], [low_out high_out]) J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过直方图调整后的新图像J ,[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1]。 不使用imadjust 函数,利用matlab 语言直接编程也很容易实现灰度图像的对比度调整。但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB 的矩阵运算中要求所有的运算变量为double 型(双精度型)。因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。 2、直方图均衡化 直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。 MATLAB 图像处理工具箱中提供的histeq 函数,可以实现直方图的均衡化。 三、实验内容及要求 1、 用MATLAB 在自建的文件夹中建立example2.m 程序文件。在这个文件的程序中,将girl2.bmp 图像文件读出,显示它的图像及灰度直方图(可以发现其灰度值集中在一段区

相关主题