图像处理内容汇总

  • 格式:doc
  • 大小:7.05 MB
  • 文档页数:10

一、基本概念
1、数字图像
一副(静态)图像可以表示成一个二维函数:f(x,y)(x,y) 为空间或平面坐标,f的幅度称亮度、强度或灰度级。

当(x,y)及f值都是有限离散量时,称为数字图像。

2、图像与图形的区别:图形是由计算机绘制而成的,而图像则是人为的用外部设备所捕捉到的外部的景象。

3、图像噪声:指图像在摄取或传输时所受到的随机干扰信号。

4、灰度变换:就是将图像中所有的点按照灰度变换函数进行变换。

5、数字图像处理:利用计算机对图像进行去除噪声、增强、复原、分割、特征提取、识别等处理的理论、方法和技术。

位图有关术语:(P28-29)
1、像素:一副数字图像中的一个元素称为图像元素或象素(Pixels)。

2、分辨率:指在单位长度内所含有的点(像素)的多少。

3、图像分辨率:指每英寸图像含有多少个点或像素,单位为dpi。

4、屏幕分辨率:显示器上每单位长度显示的像素或点的数量,通常以点/英寸(dpi)来表示。

二、图像处理
1、MATLAB中图像的读取与显示
imread函数:将一副图像读入内存
格式:A=imread(‘文件名’); %文件名带路径
imshow函数:显示图像
格式:imshow(A);
例如:启动matlab,在其“Command Window(命令窗口)”输入:
>> A=imread('C:\MATLAB701\lena.bmp');
>> imshow(A);
结果:
2、图像数字化的步骤:图像的数字化包括采样与量化两个过程。

(1)采样:图像在空间上的离散化称为采样,也就是用空间上部分点的灰度值代表图像,这些点称为采样点。

(a)256*256采样点(b) 64*64采样点(c) 32*32采样点
(d) 16*16采样点(e) 4*4采样点(f) 2*2采样点
(2)量化:模拟图像经过采样后,在空间上离散化为像素。

但采样所得的像素值(即灰度值)仍然是连续量。

把采样后所得到的各像素的灰度值从模拟量到离散量得转换称为图像灰度的量化。

(a)256级灰度(b) 64级灰度(c) 32级灰度
(d) 16级灰度(e) 4级灰度(f) 2级灰度(黑白图像)
3、直方图(histogram)
(1)从图形上来说,直方图图是一个二维图,横坐标为灰度级,纵坐标为该灰度级像素出现的个数。

直方图描述了每个灰度级具有的像素的个数,反映的是图像灰度的统计信息,但丢失了所有这些像素点的空间信息,即像素点的相对位置。

(2)直方图均衡化(histogram equalization):直方图均衡化处理的“中心思想”是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。

直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同。

直方图均衡化就是
把给定图像的直方图分布改变成“均匀”分布直方图分布。

(3)MATLAB中有关直方图运算的函数
A=imread('6.bmp');
imhist(A);
B=histeq(A);
imhist(B);
上图效果的源代码:
A=imread('6.bmp');
B=histeq(A);
figure;
subplot(2, 2, 1); imshow(A); title('原图');
subplot(2,2,2);imhist(A);title('直方图');
subplot(2, 2, 3); imshow(B); title('直方图均衡后的图像'); subplot(2,2,4);imhist(B);title('均衡后的直方图');
4、图像的缩放
(1)图像的插值(interpolation):当我们试图改变图像的尺寸时候,就必定带来图像像素的改变,新的生成图像的每一个像素都是通过对老的图像对应位置的像素做出某种运算得到的,这样的操作称为插值,放大图像的时候需要插值,缩小图像的时候也需要插值。

(2)常用的插值方法:
最近邻插值:Nearest neighbor interpolation
双线性插值:Bilinear interpolation
双三次插值:Bicubic interpolation
(3)图像缩放
B=imresize(A,m,method) 把图像放大m倍。

Method指选用的插值方法
‘nearest’(默认):最近邻插值
‘bilinear’:双线性插值
‘bicubic’:双三次插值
下图采用最近邻法放大图像2倍
I=imread('lena.bmp');
J1=imresize(I,2);
imshow(I);
figure,imshow(J1);
下图采用双线性插值放大图像2倍
I=imread('lena.bmp');
J2=imresize(I,2,'bilinear');
imshow(I);
figure,imshow(J2);
下图采用双三次插值放大图像2倍
1、最近邻插值
这是最简单的一种插值方法,不需要计算,在待求象素的四邻象素中,将距离待求象素最近的邻象素灰度赋给待求象素。

设i+u, j+v(i, j为正整数,u, v为大于零小于1的小数,下同)为待求象素坐标,则待求象素灰度的值f(i+u, j+v)如下图所示:
如果(i+u, j+v)落在A区,即u<0.5, v<0.5,则将左上角象素的灰度值赋给待求象素,同理,落在B区则赋予右上角的象素灰度值,落在C区则赋予左下角象素的灰度值,落在D区则赋予右下角象素的灰度值。

最邻近元法计算量较小,但可能会造成插值生成的图像灰度上的不连续,在灰度变化的地方可能出现明显的锯齿状。

2、双线性插值
双线性内插法是利用待求象素四个邻象素的灰度在两个方向上作线性内插,如下图所示:
对于(i, j+v),f(i, j) 到f(i, j+1) 的灰度变化为线性关系,则有:
f(i, j+v) = [f(i, j+1) - f(i, j)] * v + f(i, j)
同理对于(i+1, j+v) 则有:
f(i+1, j+v) = [f(i+1, j+1) - f(i+1, j)] * v + f(i+1, j)
从f(i, j+v) 到f(i+1, j+v) 的灰度变化也为线性关系,由此可推导出待求象素灰度的计算式如下:
f(i+u, j+v) = (1-u) * (1-v) * f(i, j) + (1-u) * v * f(i, j+1) + u * (1-v) * f(i+1, j) + u * v * f(i+1, j+1)
双线性内插法的计算比最邻近点法复杂,计算量较大,但没有灰度不连续的缺点,结果基本令人满意。

它具有低通滤波性质,使高频分量受损,图像轮廓可能会有一点模糊。

3、三次插值
该方法利用三次多项式S(x)求逼近理论上最佳插值函数sin(x)/x, 其数学表达式为:待求像素(x, y)的灰度值由其周围16个灰度值加权内插得到,如下图:
待求像素的灰度计算式如下:
f(x, y) = f(i+u, j+v) = ABC
其中:
三次曲线插值方法计算量较大,但插值后的图像效果最好。