数字图像处理直方图与灰度处理
杭电数字图像处理

杭州电子科技大学课程名称:作业名称:指导教师:学生姓名:学生学号:一.题目要求与难点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边缘检测算法一直是边缘检测的经典算法。
数字图像处理实验报告

目录实验一:数字图像的基本处理操作 (4):实验目的 (4):实验任务和要求 (4):实验步骤和结果 (5):结果分析 (8)实验二:图像的灰度变换和直方图变换 (9):实验目的 (9):实验任务和要求 (9):实验步骤和结果 (9):结果分析 (13)实验三:图像的平滑处理 (14):实验目的 (14):实验任务和要求 (14):实验步骤和结果 (14):结果分析 (18)实验四:图像的锐化处理 (19):实验目的 (19):实验任务和要求 (19):实验步骤和结果 (19):结果分析 (21)实验一:数字图像的基本处理操作:实验目的1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;2、实现图像的读取、显示、代数运算和简单变换。
3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。
:实验任务和要求1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。
2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。
3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。
4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。
:实验步骤和结果1.对实验任务1的实现代码如下:a=imread('d:\');i=rgb2gray(a);I=im2bw(a,;subplot(1,3,1);imshow(a);title('原图像');subplot(1,3,2);imshow(i);title('灰度图像');subplot(1,3,3);imshow(I);title('二值图像');subplot(1,3,1);imshow(a);title('原图像');结果如图所示:图原图及其灰度图像,二值图像2.对实验任务2的实现代码如下:a=imread('d:\');A=imresize(a,[800 800]);b=imread('d:\');B=imresize(b,[800 800]);Z1=imadd(A,B);Z2=imsubtract(A,B);Z3=immultiply(A,B);Z4=imdivide(A,B);subplot(3,2,1);imshow(A);title('原图像 A'); subplot(3,2,2);imshow(B);title('原图像 B'); subplot(3,2,3);imshow(Z1);title('加法图像'); subplot(3,2,4);imshow(Z2);title('减法图像'); subplot(3,2,5);imshow(Z3);title('乘法图像'); subplot(3,2,6);imshow(Z2);title('除法图像');结果如图所示:3.对实验任务3的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j); %直流分量移到频谱中心I=log(abs(k)); %对数变换m=fftshift(j); %直流分量移到频谱中心RR=real(m); %取傅里叶变换的实部II=imag(m); %取傅里叶变换的虚部A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶变换频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶变换频谱');结果如图所示:4.对实验任务4的实现代码如下:s=imread('d:\');i=rgb2gray(s);i=double(i);j=fft2(i);k=fftshift(j);I=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=imrotate(s,-90);b=rgb2gray(b);b=double(b);c=fft2(b);e=fftshift(c);I=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);title('原图像');subplot(2,2,2);imshow(uint8(b));title('平移图像');subplot(2,2,3);imshow(A);title('离散傅里叶频谱');subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱');结果如图所示::结果分析对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。
数字图像处理图像变换实验报告.

实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用和意义;4、观察图像点运算和几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算和几何变换的基本原理及编程实现步骤图像灰度直方图是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以看作是“从象素到象素”的复制操作,而这种复制操作是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值和输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸和均衡等。
图像几何变换是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放和图像旋转等,其理论基础主要是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算和几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法和频域法,点运算和几何变换属于空域法。
数字图像处理3-直方图均衡,直方图匹配,空间滤波相关等

Timg(原图) im_1(MATLAB均衡处理) im_2(ps均衡处理)原图的rgb直方图r通道直方图(原图)g通道直方图(原图)b通道直方图(原图)r通道直方图(im_1)g通道直方图(im_1)b通道直方图(im_1)r通道直方图(im_2)g通道直方图(im_2)b通道直方图(im_2)这里找到了一张对比度较低的图像timg,其原本的对比度很低。
之后分别用MATLAB和ps对其进行了直方图均衡,生成了im_1与im_2,可见其处理的效果是有区别的。
MATLAB处理的结果色彩更加艳丽但是相对于原图来说其每个区域的颜色和旁边的区域颜色差别会很巨大,就是使得边界更明显,同时对比度提高了很多。
而ps处理的结果可以看出新的直方图和原直方图相比产生了很多形状上的差别,可见ps的直方图均衡采用了更为复杂的算法。
同时图像对比度以及颜色艳丽的程度得到了提升,但是没有MATLAB处理的效果明显,保持了原图的色调以及部分颜色关系。
Ps中直方图均衡可以一键实现,因此在此不做重点描写,我们来看如何用MATLAB实现这种操作。
MATLAB代码如下:主程序:im=imread('timg.jpg');im_r=change(im(:,:,1));im_g=change(im(:,:,2));im_b=change(im(:,:,3));im1(:,:,1)=im_r;im1(:,:,2)=im_g;im1(:,:,3)=im_b;figure;imshow(im1);imwrite(im1,'im1.jpg');Change函数:function [n] = change(m)n=m;sum=0;for i=0:255for j=1:407for k=1:500if(m(j,k)==i)sum=sum+1;endendendchan=sum/(407*500);chan1=fix(chan*255+0.5);for j=1:407for k=1:500if(m(j,k)==i)n(j,k)=chan1;endendendend[x,xout] = hist(n(:), 0:255);figure;bar(xout, x); xlim([0 255]);MATLAB其实本身有实现直方图均衡效果的函数,这里为了理解算法自己做了这个函数。
数字图像处理知识点总结

数字图像处理知识点总结第一章导论1.图像:对客观对象的一种相似性的生动性的描述或写真。
2.图像分类:按可见性(可见图像、不可见图像),按波段数(单波段、多波段、超波段),按空间坐标和亮度的连续性(模拟和数字)。
3.图像处理:对图像进行一系列操作,以到达预期目的的技术。
4.图像处理三个层次:狭义图像处理、图像分析和图像理解.5.图像处理五个模块:采集、显示、存储、通信、处理和分析.第二章数字图像处理的基本概念6.模拟图像的表示:f(x,y)=i(x,y)×r(x,y),照度分量0< i(x,y)〈∞ ,反射分量0 <r(x,y)<1。
7.图像数字化:将一幅画面转化成计算机能处理的形式-—数字图像的过程。
它包括采样和量化两个过程。
像素的位置和灰度就是像素的属性。
8.将空间上连续的图像变换成离散点的操作称为采样.采样间隔和采样孔径的大小是两个很重要的参数。
采样方式:有缝、无缝和重叠.9.将像素灰度转换成离散的整数值的过程叫量化.10.表示像素明暗程度的整数称为像素的灰度级(或灰度值或灰度)。
11.数字图像根据灰度级数的差异可分为:黑白图像、灰度图像和彩色图像.12.采样间隔对图像质量的影响:一般来说,采样间隔越大,所得图像像素数越少,空间分辨率低,质量差,严重时出现像素呈块状的国际棋盘效应;采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。
13.量化等级对图像质量的影响:量化等级越多,所得图像层次越丰富,灰度分辨率高,图像质量好,但数据量大;量化等级越少,图像层次欠丰富,灰度分辨率低,会出现假轮廓现象,图像质量变差,但数据量小.但在极少数情况下对固定图像大小时,减少灰度级能改善质量,产生这种情况的最可能原因是减少灰度级一般会增加图像的对比度.例如对细节比较丰富的图像数字化。
14.数字化器组成:1)采样孔:保证单独观测特定的像素而不受其它部分的影响。
2)图像扫描机构:使采样孔按预先确定的方式在图像上移动。
数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)

1.灰度变换与空间滤波一种成熟的医学技术被用于检测电子显微镜生成的某类图像。
为简化检测任务,技术决定采用数字图像处理技术。
发现了如下问题:(1)明亮且孤立的点是不感兴趣的点;(2)清晰度不够,特别是边缘区域不明显;(3)一些图像的对比度不够;(4)技术人员发现某些关键的信息只在灰度值为I1-I2的范围,因此,技术人员想保留I1-I2区间范围的图像,将其余灰度值显示为黑色。
(5)将处理后的I1-I2范围内的图像,线性扩展到0-255灰度,以适应于液晶显示器的显示。
请结合本章的数字图像处理处理,帮助技术人员解决这些问题。
1.1问题分析及多种方法提出(1)明亮且孤立的点是不够感兴趣的点对于明亮且孤立的点,其应为脉冲且灰度值为255(uint8)噪声,即盐噪声,为此,首先对下载的细胞图像增加盐噪声,再选择不同滤波方式进行滤除。
均值滤波:均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。
优点:速度快,实现简单;缺点:均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
其公式如下:使用矩阵表示该滤波器则为:中值滤波:滤除盐噪声首选的方法应为中值滤波,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。
其过程为:a 、存储像素1,像素2.....像素9的值;b 、对像素值进行排序操作;c 、像素5的值即为数组排序后的中值。
优点:由于中值滤波本身为一种利用统计排序方法进行的非线性滤波方法,故可以滤除在排列矩阵两边分布的脉冲噪声,并较好的保留图像的细节信息。
缺点:当噪声密度较大时,使用中值滤波后,仍然会有较多的噪声点出现。
数字图像处理 第三版 (冈萨雷斯,自己整理的2)
1. 数字数据传输通常用波特率度量,其定义为每秒钟传输的比特数。
通常的传输是以一个开始比特,一个字节(8 比特)的信息和一个停止比特组成的包完成的。
基于这个概念回答以下问题:(a) 用56K 波特的调制解调器传输一幅1024×1024、256 级灰度的图像需要用几分钟?(b) 以750K 波特[这是典型的电话DSL(数字用户线)连接的速度]传输要用多少时间?解:(a)T=M/56000=(1024×1024)×(8+2)/56000=187.25s=3.1min(b) T=M/56000=(1024×1024)×(8+2)/750000=14s2.两个图像子集S1和S2图下图所示。
对于V={1},确定这两个子集是(a)4-邻接,(b)8-邻接,(c)m-邻接。
a) S1 和S2 不是4 连接,因为q 不在N4(p)集中。
(b) S1 和S2 是8 连接,因为q 在N8(p)集中。
(c) S1 和S2 是m 连接,因为q 在集合N D(p)中,且N4(p)∩ N4(q)没有V 值的像素3. 考虑如下所示的图像分割(a) 令V={0,1}并计算p 和q 间的4,8,m 通路的最短长度。
如果在这两点间不存在特殊通路,试解释原因。
(b) 对于V={1,2}重复上题。
解:(a) 当V={0,1}时,p 和q 之间不存在4 邻接路径,因为不同时存在从p 到q 像素的4 毗邻像素和具备V 的值,如图(a)p 不能到达q。
8 邻接最短路径如图(b),最短长度为4。
m邻接路径如图(b)虚线箭头所示,最短长度为5。
这两种最短长度路径在此例中均具有唯一性。
(b) 当V={1, 2}时,最短的4 邻接通路的一种情况如图(c)所示,其长度为6,另一种情况,其长度也为6;8 邻接通路的一种情况如图(d)实线箭头所示,其最短长度为4;m 邻接通路的一种情况如图(d)虚线箭头所示,其最短长度为6.或解: (1) 在V={0,1}时,p和q之间通路的D4距离为∞,D8距离为4,Dm距离为5。
数字图像处理---直方图均衡化
数字图像处理---直⽅图均衡化直⽅图均衡化的英⽂名称是Histogram Equalization. 图像对⽐度增强的⽅法可以分成两类:⼀类是直接对⽐度增强⽅法;另⼀类是间接对⽐度增强⽅法。
直⽅图拉伸和直⽅图均衡化是两种最常见的间接对⽐度增强⽅法。
直⽅图拉伸是通过对⽐度拉伸对直⽅图进⾏调整,从⽽“扩⼤”前景和背景灰度的差别,以达到增强对⽐度的⽬的,这种⽅法可以利⽤线性或⾮线性的⽅法来实现;直⽅图均衡化则通过使⽤累积函数对灰度值进⾏“调整”以实现对⽐度的增强。
直⽅图均衡化处理的“中⼼思想”是把原始图像的灰度直⽅图从⽐较集中的某个灰度区间变成在全部灰度范围内的均匀分布。
直⽅图均衡化就是对图像进⾏⾮线性拉伸,重新分配图像像素值,使⼀定灰度范围内的像素数量⼤致相同。
直⽅图均衡化就是把给定图像的直⽅图分布改变成“均匀”分布直⽅图分布。
缺点: 1)变换后图像的灰度级减少,某些细节消失; 2)某些图像,如直⽅图有⾼峰,经处理后对⽐度不⾃然的过分增强。
直⽅图均衡化是图像处理领域中利⽤图像直⽅图对对⽐度进⾏调整的⽅法。
这种⽅法通常⽤来增加许多图像的局部对⽐度,尤其是当图像的有⽤数据的对⽐度相当接近的时候。
通过这种⽅法,亮度可以更好地在直⽅图上分布。
这样就可以⽤于增强局部的对⽐度⽽不影响整体的对⽐度,直⽅图均衡化通过有效地扩展常⽤的亮度来实现这种功能。
这种⽅法对于背景和前景都太亮或者太暗的图像⾮常有⽤,这种⽅法尤其是可以带来X光图像中更好的⾻骼结构显⽰以及曝光过度或者曝光不⾜照⽚中更好的细节。
这种⽅法的⼀个主要优势是它是⼀个相当直观的技术并且是可逆操作,如果已知均衡化函数,那么就可以恢复原始的直⽅图,并且计算量也不⼤。
这种⽅法的⼀个缺点是它对处理的数据不加选择,它可能会增加背景杂讯的对⽐度并且降低有⽤信号的对⽐度。
1.连续灰度值r:待处理图像的灰度。
假设r的取值区间[0,L-1], r = 0表⽰⿊⾊,r = L - 1表⽰⽩⾊。
数字图像处理方法-图像增强2
求出:k1和k2 求出:l1和l2
第五章 图像增强
23
空域处理—彩色图像增强
彩色平衡实现的算法
9 分别对R、G、B图像实施变换:
*=
+
R(x, y) k1*R(x, y) k 2
B(x, y)* = l1*B(x, y) + l2
G(x, y)* = G(x, y)
9 得到彩色平衡图像
第五章 图像增强
直方图均衡化的技术要点:
公理:直方图p(rk ),为常数的图像对比度最好
目标:寻找一个灰度变换函数T(r),使结果图像 的直方图p(sk )为一个常数
第五章 图像增强
3
空域处理—直方图增强
直方图均衡—灰度变换函数
1) 求出原图 f 的灰度直方图,设为h。h为一个256维的向 量。
2) 求出图像 f 的总体像素个数, Nf=m ×n
第五章 图像增强
32
空域处理—彩色图像增强
伪彩色增强
人类可以分辨比灰度层次更多的颜色种类 将灰度图像变换为彩色图像——伪彩色图像 方法:伪彩色变换,密度分割
伪彩色变换法—独立映射表变换法
9对灰度图像 f(x, y),建立颜色映射表:
IR
=
T (I ) R
IG
=
T (I ) G
I = T (I )
B
B
9形成RGB图像各分量为: R (x , y ) = T R ( f (x , y
))
第五章 图像增强
G (x, y ) = TG( f (x, y ))
B(x, y) = TB( f (x, y
33
))
空域处理—彩色图像增强
伪彩色变换流程
数字图像处理课程内容及要求
《数字图像处理》实验内容及要求实验内容一、灰度图像的快速傅立叶变换1、 实验任务对一幅灰度图像实现快速傅立叶变换(DFT ),得到并显示出其频谱图,观察图像傅立叶变换的一些重要性质。
2、 实验条件微机一台、vc++6。
0集成开发环境。
3、实验原理傅立叶变换是一种常见的图像正交变换,通过变换可以减少图像数据的相关性,获取图像的整体特点,有利于用较少的数据量表示原始图像。
二维离散傅立叶变换的定义如下:112()00(,)(,)ux vy M N j M Nx y F u v f x y eπ---+===∑∑傅立叶反变换为:112()001(,)(,)ux vy M N j M Nu v f x y F u v eMNπ--+===∑∑式中变量u 、v 称为傅立叶变换的空间频率。
图像大小为M ×N.随着计算机技术和数字电路的迅速发展,离散傅立叶变换已经成为数字信号处理和图像处理的一种重要手段。
但是,离散傅立叶变换需要的计算量太大,运算时间长。
库里和图基提出的快速傅立叶变换大大减少了计算量和存储空间,因此本实验利用快速傅立叶变换来得到一幅灰度图像的频谱图。
快速傅立叶变换的基本思路是把序列分解成若干短序列,并与系数矩阵元素巧妙结合起来计算离散傅立叶变换.若按照奇偶序列将X(n)进行划分,设:()(2)()(21)g n x n h n x n =⎧⎨=+⎩ (n=0,1,2, (12)-)则一维傅立叶变换可以改写成下面的形式:1()()N mnNn X m x n W -==∑11220()()N N mn mnN N n n g n W h n W --===+∑∑ 1122(2)(21)(2)(21)NN m n m n N N n n x n W x n W --+===++∑∑1122022(2)(21)NN mn mn mN N N n n x n W x n W W --===++∑∑ =G(m)+mN W H(m)因此,一个求N 点的FFT 可以转换成两个求2N点的 FFT 。