数字图像处理实验二图像灰度直方图实验

合集下载

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告实验一数字图像处理编程基础一、实验目的1. 了解MATLAB图像处理工具箱;2. 掌握MATLAB的基本应用方法;3. 掌握MATLAB图像存储/图像数据类型/图像类型;4. 掌握图像文件的读/写/信息查询;5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法;6. 编程实现图像类型间的转换。

二、实验内容1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。

2. 运行图像处理程序,并保存处理结果图像。

三、源代码I=imread('cameraman.tif')imshow(I);subplot(221),title('图像1');imwrite('cameraman.tif')M=imread('pout.tif')imview(M)subplot(222),imshow(M);title('图像2');imread('pout.bmp')N=imread('eight.tif')imview(N)subplot(223),imshow(N);title('图像3');V=imread('circuit.tif')imview(V)subplot(224),imshow(V);title('图像4');N=imread('C:\Users\Administrator\Desktop\1.jpg')imshow(N);I=rgb2gary(GRB)[X.map]=gary2ind(N,2)RGB=ind2 rgb(X,map)[X.map]=gary2ind(I,2)I=ind2 gary(X,map)I=imread('C:\Users\dell\Desktop\111.jpg');subplot(231),imshow(I);title('原图');M=rgb2gray(I);subplot(232),imshow(M);[X,map]=gray2ind(M,100);subplot(233),imshow(X);RGB=ind2rgb(X,map);subplot(234),imshow(X);[X,map]=rbg2ind(I);subplot(235),imshow(X);四、实验效果实验二 图像几何变换实验一、实验目的1.学习几种常见的图像几何变换,并通过实验体会几何变换的效果;2.掌握图像平移、剪切、缩放、旋转、镜像等几何变换的算法原理及编程实现;3.掌握matlab 编程环境中基本的图像处理函数。

杭电数字图像处理

杭电数字图像处理

杭州电子科技大学课程名称:作业名称:指导教师:学生姓名:学生学号:一.题目要求与难点1.题目要求从下面的彩色图像中分割出珍珠并且检测出边缘。

如图1-1。

图.1-12.任务难点●珍珠颜色和大小不一致●珍珠上有许多光斑,影响检测●有些珍珠的颜色与背景颜色十分相近,不容易辨别●有些珍珠不完整,只在图片中显示一部分二.实现过程1.主要过程读入图像灰度化处理直方图均衡化Canny算子边缘检测Hough变换检测圆结果2.详细过程(1)灰度化处理现读入图像,将彩色的图像灰度化后进行预处理,将彩色图像的R,G,B三个通道转换为只有一个通道,便于图像的处理。

并且经过二值化处理后图像的计算也大大减少,也便于存储。

(2)直方图均衡化处理直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。

通过这种方法,亮度可以更好地在直方图上分布。

这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。

图2-1 原图像的直方图图2-2 均衡化后的直方图(3)边缘检测图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。

有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。

基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。

基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplace过零点或者非线性差分表示的过零点。

Sobel边缘检测算法比较简,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,尤其是对效率要求较高,而对细纹理不太关心的时候。

Canny边缘检测算法一直是边缘检测的经典算法。

医学图像处理实验报告

医学图像处理实验报告
c、利用预定义函数fspecial命令产生平均(average)滤波器
d、分别对其进行10*10、5*5、2*2的均值滤波;
e、显示原图像和选用不同大小模版处理后的图像。
(3)高斯滤波
a、读入图像;
b、对数字图像进行直方图均衡化处理;
c、选择高斯滤波参数(标准差)sigma为1.6;
d、选择滤波器尺寸为5*5;
i、显示原图像和处理后的图像。
(2)四八领域均值滤波
a、读入图像;
b、转换图像矩阵为双精度型;
c、创建4邻域平均滤波模版[0 1 0; 1 0 1; 0 1 0];
创建8邻域平均滤波模版[1 1 1; 1 0 1; 1 1 1];
d、进行滤波;
e、显示原图像和处理后图像。
(3)巴特沃斯高通滤波
a、读取图像;
e、创建高斯滤波器进行滤波;
f、显示原图像和处理后的图像。
3
(1)同态滤波
a、读入图像;
b、对数字图像进行直方图均衡化处理;
c、转换图像矩阵为双精度型;
d、取对数;
e、对其做傅里叶变换;
f、选择参数,截止频率为10,锐化系数为2, =1.5, =2.0;
g、进行高斯同态滤波;
h、滤波之后进行傅里叶逆变换;
c、显示原图像和经过均衡化处理过的图像;
d、记录和整理实验报告。
(2)中值滤波加直方图均衡化
a、将模板在图中漫游,并将模板中心与图中某个像素位置重合;
b、读取模板下各对应像素的灰度值;
c、将这些灰度值从小到大排成1列;
d、找出这些值中排在中间的1个;
e、将这个中间值赋给对应模板中心位置的像素;
f、中值滤波之后的像素值进行直方图均衡化处理;

matlab数字图像处理实验报告

matlab数字图像处理实验报告

《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。

二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。

其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。

此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。

频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。

常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。

假定原图像为f(x,y),经傅立叶变换为F(u,v)。

频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。

四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 1962.给定函数的累积直方图。

数字图像处理技术PPT图像数字化和直方图

数字图像处理技术PPT图像数字化和直方图

二、图像的数字化
4.量化技术
量化可分为均匀量化和非均匀量化。 均匀量化是简单地在灰度范围内等间隔 量化。非均匀量化是对像素出现频度少 的部分量化间隔取大,而对频度大的量 化间隔取小的量化间隔。
一般情况下,对灰度变化比较平缓的部分用比较多的量化级, 在灰度变化比较剧烈的地方用比较高的分辨率。
量化

一、数字图像的概念与描述
2.灰度图像
灰度图像是指每个像素的信息由 一个量化的灰度级来描述的图像,没 有彩色信息。
0 150 200 I 120 50 180 250 220 100
灰度图像描述示例
一、数字图像的概念与描述
3.彩色图像
彩色图像是指每个像素的信息由 RGB三原色构成的图像,其中RGB是 由不同的灰度级来描述的。
三基色原理


大自然中的颜色都可以通过红、绿、蓝三色按照 不同的比例合成产生,同样绝大多数单色光也可 以分解成红绿蓝三种色光。即三基色原理。 三种基色是相互独立的,红绿蓝三基色按照不同 的比例相加合成混色称为相加混色: 红色+绿色=黄色 绿色+蓝色=青色 红色+蓝色=品红 红色+绿色+蓝色=白色
彩色图像描述
采样间隔效果示意图
返回
均匀量化效果示意图
返回
非均匀量化效果示意图
返回
均匀量化与非均匀量化效果的比较
返回
量化与采样的效果图例
原图
低灰度级量化
低分辨率 返回
黑白图像
返回
灰度图像
返回
彩色图像
返回
彩色图的灰度直方图
返回
灰度图的灰度直方图
返回
灰度分布效果比较示意图

东北大学matlab计算机图像处理实验报告

东北大学matlab计算机图像处理实验报告

计算机图像处理实验报告学院:信息学院班级:姓名:学号:实验内容:数字图像处理1、应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换;(1)、显示一副真彩RGB图像代码:I=imread('mikasa.jpg');>>imshow(I);效果:(2)、RGB转灰度图像代码:graycat=rgb2gray(I);>> subplot(1,2,1);>> subimage(I);>> subplot(1,2,2);>> subimage(graycat);效果:(3)、RGB转索引图像代码:[indcat,map]=rgb2ind(I,0.7);>> subplot(1,2,1);>> subimage(I);>> subplot(1,2,2);>> subimage(indcat,map);效果:(4)、索引图像转RGB代码:I1=ind2rgb(indcat,map);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(I1);效果:(5)、索引转灰度图像代码:i2gcat=ind2gray(indcat,map);>>subplot(1,2,1);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(i2gcat);效果:(6)、灰度转索引图像代码:[g2icat,map]=gray2ind(graycat,64);>>subplot(1,2,1);>>subimage(graycat);>>subimage(g2icat,map);效果:(7)、RGB转二值图像代码:r2bwcat=im2bw(I,0.5);>>subplot(1,2,1);>>subimage(I);>>subplot(1,2,2);>>subimage(r2bwcat);效果:(8)灰度转二值图像代码:g2bwcat=im2bw(graycat,0.5); subplot(1,2,1);>>subimage(graycat);>>subplot(1,2,2);>>subimage(g2bwcat);效果:(9)、索引转二值图像代码:>> i2bwcat=im2bw(indcat,map,0.7);>>subimage(indcat,map);>>subplot(1,2,2);>>subimage(i2bwcat);效果:2、应用MATLAB工具箱演示一幅图像的傅里叶变换、离散余弦变换,观察其频谱图。

(完整版)数字图像处理MATLAB程序【完整版】

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。

三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。

(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

图像处理中的灰度直方图匹配算法介绍

图像处理中的灰度直方图匹配算法介绍

图像处理中的灰度直方图匹配算法介绍随着数字图像处理技术的不断发展,图像处理的各种应用已经渗透到了我们日常的生活中。

其中,灰度直方图匹配算法是图像处理中的一个非常重要的工具,它可以帮助我们快速地对图像进行灰度级的调整,从而使我们得到更加清晰明亮的图像。

在本文中,我们将会对灰度直方图匹配算法进行介绍,并探讨一些该算法的相关技术和应用。

一、什么是灰度直方图匹配算法?灰度直方图匹配算法是一种常用的图像处理算法,它可以将一张图像的灰度级转换为另一种灰度级。

在灰度直方图匹配算法中,我们利用图像的灰度直方图来判断该图像的灰度级分布情况,然后去匹配一个新的灰度级分布,以达到改变图像灰度级的效果。

二、灰度直方图匹配算法的原理灰度直方图是指图像中各个灰度级的像素点个数的统计数据,它包含了图像的整体亮度分布情况。

灰度直方图匹配算法可以通过将原始图像的灰度级值进行映射,使其变得更加清晰明亮。

在具体实现时,我们可以采用以下步骤来完成灰度直方图匹配算法:1、统计原始图像的灰度直方图,得到其像素点分布情况。

2、统计目标图像的灰度直方图,得到其像素点分布情况。

3、利用原始图像的灰度级和目标图像的灰度级之间的分布关系,对原始图像的每一个像素进行映射。

这一步可以通过一些数学公式来实现,例如线性变换、S形变换等。

4、得到新的映射后的图像,并进行保存。

三、灰度直方图匹配算法的应用灰度直方图匹配算法在图像处理中有着广泛的应用,例如在数字图像矫正、影像亮度调整、图像增强等方面,都可以采用该算法进行处理。

1、数字图像矫正数字图像矫正是图像处理中的一个重要应用。

传统的数字图像矫正方法通常需要进行图像的旋转、平移等操作,而这些操作常常会导致图像的质量下降。

灰度直方图匹配算法可以在数字图像矫正中起到重要的作用,通过对原始图像和目标图像进行灰度直方图匹配,可以使图像得到更加精确的矫正效果。

2、影像亮度调整影像亮度调整是指对影像中的亮度进行调整,以实现影像明暗的调整。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程名称数字图像处理与分析实验序号实验二
实验项目图像灰度直方图实验实验地点
实验学时实验类型指导教师实验员
专业班级
学号姓名
年月日
分析:由生成的图像可知,索引图比灰度图的灰度等级更大,颜色更暗,二值图像只能描述其轮廓,不能描述细节。

代码:
clear ; %清除内存原有一切变量
RGB=imread('gou.jpg');
[X1,map]=rgb2ind(RGB,64);
I=rgb2gray(RGB); %把RGB图变为灰度图
X2=rgb2ind(RGB,map);
subplot(2,2,1),imshow(RGB);title('yuantu');
subplot(2,2,2),imshow(I);title('graytu'); %显示灰度图
subplot(2,2,3),imshow(X1,map);title('x1map');
subplot(2,2,4),imshow(X2,map);title('x2map');
运行结果:
分析:由生成的图像可知,RGB图转换灰度图失败,不清楚原因,但是代码没有问题;由RGB转换的两张索引图和原图没有肉眼可识别的差别。

2、计算出一幅灰度图像的直方图
代码:
clear;
close all;
RGB=imread('gou.jpg'); % 把RGB图读入矩阵
I=rgb2gray(RGB); %把RGB图变为灰度图
imhist(I);
title('实验1 直方图');
运行结果:
分析:灰度图较暗,因此灰度直方图像素灰度值取在左边较暗的区域。

3、对灰度图像进行简单灰度线形变换
代码:
RGB=imread('gou.jpg');
I=rgb2gray(RGB);
subplot(2,2,1),imshow(I);
subplot(2,2,2),imhist(I);
J=histeq(I);
subplot(2,2,3),imshow(J);
subplot(2,2,4), imhist(J); title('实验2 -直方图均衡化');
运行结果:
分析:由生成的图像可知,原始图像较暗且动态范围较小,反应在直方图上就是直方图所占据的灰度值范围比较窄,且集中在低灰度值一边。

经过直方图均衡处理后,我们可以看到,直方图占据了整个图像灰度值允许的范围,增加了图像灰度动态范围,也增加了图像的对比度。

4、看直方图的对应变化和图像对比度的变化。

代码:
figure;
subplot(2,2,1),imshow(I);
J=imadjust(I,[0.3,0.7],[0,1],1);
title(' 实验3 用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换');
subplot(2,2,2),imshow(J);
subplot(2,2,3), imshow(I); J=imadjust(I,[0.5,0.8],[0,1],1);
subplot(2,2,4), imshow(J);
运行结果:
分析:madjust是一个计算机函数,该函数用于调节灰度图像的亮度或彩色图像的颜色矩阵.左边的两张图为灰度图原图,右边两张图经过了灰度调整之后,整体偏暗,对比度变小了,因此我们可知,处理后图像较暗且动态范围较小,反应在直方图上就是直方图所占据的灰度值范围比较窄,且集中在低灰度值一边。

五、测试/调试及实验结果分析
1、测试结果和详细分析如上所示。

2、Matlab和C 语言有什么区别?
答:都是计算机上的应用工具。

Matlab主要用来做科学计算工具,其本身自带了大量的库,能通过其本身自动的脚本编程(类C),计算或模拟控制并能绘制结果图形等;C是编程开发工具,严格来说是一种开发语言。

六、实验结论与体会
1、通过实验,我掌握了图像转换函数的用法和图像矩阵显示方法,懂得了如何对图片进行处理。

2、在实践中,我掌握图像灰度直方图的显示和灰度调整方法,学会了对图像直方图均衡化,使得图像更加清晰,明白了图像直方图修改进行图像增强是一种有效的方法,对于今后的学习有很大的帮助。

年月日。

相关文档
最新文档