数字图像处理--图像的增强

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

直方图均衡化的Matlab实现
例4.6调整图像的对比度,调整前后的图像见图
clear all I=imread(′pout.tif′); J=imadjust(I, [0.3 0.7], [ ]); subplot(121), imshow(I) subplot(122), imshow(J) figure, subplot(121), imhist(I) subplot(122), imhist(J)
说明:imhist(I, n)计算和显示灰度图像I的直方图, n为指定的灰度级数目,缺省值为256;imhist(X, map) 计算和显示索引色图像X的直方图,map为调色板; [counts, x]=imhist(...) 返回直方图数据向量counts 和相应的色彩值向量x,用stem(x, counts) 同样可以显 示直方图。
图像增强的Matlab实现
I=imread(′rice.png′); J1=imnoise(I,′gaussian′,0,0.02); J2=imnoise(I,′salt & pepper′,0.02); J3=imnoise(I,′speckle′,0.02); subplot(2,2,1),imshow(I); subplot(2,2,2),imshow(J1); subplot(2,2,3),imshow(J2);
I=imread(′bacteria.tif′); subplot(1,2,1), imshow(I)
subplot(1,2,2),
imcontour(I,8)
直方图均衡化的Matlab实现
直方图均衡化的Matlab实现
3. imadjust函数
格式:J=imadjust(I, [low high], [bLeabharlann ttom top], gamma)
直方图均衡化的Matlab实现
4. histeq函数 格式: 说明:J=histeq(I, hgram)实现 了所谓“直方图规定化”,即将 原始图像I的直方图变换成用户 指定的向量hgram。hgram中的 每一个元素都在[0,1]中;J = histeq(I, n)指定均衡化后的灰度 级数n,缺省为64;[J,T] = histeq(I, …)返回从能将图像I的 灰度直方图变换成图像J的直方 图的变换T
h=ones(5,5)/25; rgb2=imfilter(rgb,h); subplot(1,2,1), imshow(rgb) subplot(1,2,2), imshow(rgb2)
彩色增强的Matlab实现
图4.43 真彩色图像均值滤波前后显示效果对比
图像滤波的Matlab实现
(3) conv函数
格式:与conv2函数相同 (4) filter2函数
功能:计算二维线性数字滤波,它与函数fspecial
格式:Y=filter2(B, X) Y=filter2(B, X,′shape′)
说明:对于Y=filter2(B,X),filter2使用矩阵B中的二维FIR滤波 器对数据X进行滤波,结果Y是通过二维互相关计算出来的,其大小 与X一样;对于Y=filter2(B,X, ′Shape′),filter2 返回的Y是通过二 维互相关计算出来的.
sobel
prewitt laplacian log average unshape
Sobel
Prewitt 近似二维拉普拉斯运算滤波器 高斯拉普拉斯(LoG
4.7.3 彩色增强的Matlab实现
在Matlab中,调用imfilter函数对一幅真彩色(三维 数据)图像使用二维滤波器进行滤波就相当于使用同一
4.3.5 直方图均衡化的Matlab实现
图像的直方图、均值、方差以及图像间的相关都是重要 的统计特征。图像处理工具箱提供了计算这些统计特征 的函数。
1. imhist函数
格式:imhist(I, n) imhist(X, map) [counts, x]=imhist(…)
直方图均衡化的Matlab实现
gaussian高斯低通滤波器sobelsobel水平边缘增强滤波器prewittprewitt水平边缘增强滤波器laplacian近似二维拉普拉斯运算滤波器log高斯拉普拉斯log运算滤波器average均值滤波器unshape模糊对比增强滤波器473彩色增强的matlab实现在matlab中调用imfilter函数对一幅真彩色三维数据图像使用二维滤波器进行滤波就相当于使用同一个二维滤波器对数据的每个平面单独进行滤波
newmap=imadjust(map, [low high], [bottom top], gamma)
说明:J=imadjust(I, [low high], [bottom top], gamma)返回图 像I经直方图调整后的图像J,gamma为校正量 γ,[low high]为原 图像中要变换的灰度范围,[bottom top]指定了变换后的灰度范围; newmap=imadjust(map, [low high], [bottom top], gamma)调 整索引色图像的调色板map。此时若[low high]和[bottom top] 都为2×3的矩阵,则分别调整R、G、B 3
I = imread(′tire.tif′);
J = histeq(I); subplot(1,2,1),imshow(I)
subplot(1,2,2),imshow(J)
figure, subplot(1,2,1),imshow(I,64) subplot(1,2,2), imshow(J,64)
J=histeq(I, hgram)
J = histeq(I, n) [J,T] = histeq(I, …)
newmap = histeq(X, map, hgram)
newmap = histeq(X, map) [new, T] = histeq(X,…)
直方图均衡化的Matlab实现
例4.7 对图像′tire.tif′做直方图均衡化,结果见图。
subplot(2,2,4),imshow(J3);
图像滤波的Matlab实现
下面介绍空间域滤波技术的Matlab实现。Matlab中提供的与空间域数字 图像滤波的函数主要有5 (1) conv2 格式:C=conv2(A, B) C=conv2(Hcol, Hrow, A) C=conv2(…, ′shape′) 图4-37是采用该函数与前面介绍的算子进行结合的例子。 (2) convmtx2 格式:T=Convmtx2(H, m ,n) T=convmtx2(H, [m, n]) 说明:Convmtx2函数返回矩阵H的卷积矩阵T,矩阵T是一稀疏矩阵。
例4.4 显示图像′cameraman.tif′的直方图。
I=imread(′cameraman.tif′); subplot(1,2,1), imshow(I)
subplot(1,2,2), imhist(I)
直方图均衡化的Matlab实现
直方图均衡化的Matlab实现
2. imcontour函数 格式:imcontour ( I,n ),imcontour (I,v) 说明:n为灰度级的个数,v是由用户指定所选的灰度级向 例4.5显示图像′bacteria.tif′的等灰度值图
H=fspecial(′average′, n)
H=fspecial(′unsharp′, alpha)
图像滤波的Matlab实现
说明:对于形式H=fspecial(type),fspecial函数产生一个由type指定 的二维滤波器H,返回的H常与其他滤波搭配使用。type的可能值
gaussian
图像滤波的Matlab实现
(5) fspecial
格式:H=fspecial(type) H=fspecial(′gaussian′, n, sigma) H=fspecial(′sobel′)
H=fspecial(′prewitt′)
H=fspecial(′laplacian′, alpha) H=fspecial(′log′, n, sigma)
图像增强的Matlab实现
(2) 乘性噪声。有的噪声与图像信号有关。这又可以分为2种情况, 一种是某像素处的噪声只与该像素的图像有关;另一种是某像点处 的噪声与该像点及其邻域的图像信号有关。例如,用飞点扫描器扫 描图像时产生的噪声就与图像信号有关。如果噪声和信号成正比, 则含噪图像 f(x,y) f(x,y)=g(x,y)+n(x,y)g(x,y)=[1+n(x,y)]g(x,y) 平滑技术主要用于平滑图像中的噪声,平滑噪声在空间域中进 行,其基本方法是求像素灰度的平均值或中值。为了既平滑噪声又 保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波 技术。
4.6.4 图像增强的Matlab实现
1. 噪声及其噪声的Matlab实现
实际获得的图像一般都因受到某种干扰而含有噪声。引起噪声 的原因有敏感元器件的内部噪声、相片底片上感光材料的颗粒、传 输通道的干扰及量化噪声等。噪声产生的原因决定了噪声的分布特 根据噪声与信号的关系可以将其分为2 (1) 加性噪声。有的噪声与图像信号 g(x,y) 无关,在这种情况下, 含噪声图像 f(x,y) f(x,y)=g(x,y)+n(x,y)
图像增强的Matlab实现
imnoise 格式:J=imnoise(I, type) J=imnoise(I, type, parameter) 说明:J=imnoise(I, type)返回对图像I添加典型噪声后 的有噪图像J,参数type和parameter用于确定噪声的类 以下程序代码示例是对图像rice.png分别加入高斯噪声、 椒盐噪声和乘性噪声,其结果如图所示
imfilter函数
格式:B=imfilter (A, h) 说明:将原始图像A按指定的滤波器h进行滤波增强处理, 增强后的图像B与A
彩色增强的Matlab实现
例4.10 以下代码将使用均值滤波器对图 4.43(a)所示的真彩色图像的每个颜色平面进行 滤波,滤波结果如图4.43 (b)所示。
rgb=imread(j′peppers.png′);
相关文档
最新文档