一、数字图像处理基础
1、图形和图像的区别
图形(矢量图):以几何数学为基础,图形由点、线、圆等图元组成,图形文件仅记录点的坐标和绘图命令。
图像(点阵图):用像素来描述的图,图像文件中记录每个像素的颜色和亮度。
2、四邻域和八邻域:
4-邻域:设像素p(x,y),它有4个水平和垂直相邻的像素:(x-1,y)(x+1,y)
(x,y-1)(x,y+1),这4个点组成p的4-邻域。
对角邻域:像素p(x,y)的4个对角临近像素:(x-1,y-1)(x+1,y-1)
(x-1,y+1)(x+1,y+1),这4个点组成p的对角邻域。
8-邻域:像素p的4-邻域和对角邻域合起来组成p的8-邻域。
3、彩色模型
(1)RGB模型
8种颜色配比(归一化):

(2)HIS模型:H(色度),S(饱和度),(I)亮度。
(3)二值模型:0—黑色,1—白色。
(4)灰度模型:白—黑有256个灰度级来显示图像,0—黑色,255—白色。
(5)几种图像的颜色数:
二值图像:2种像素值
灰度图像:256种灰度级
彩色图像:256 * 256 * 256 = 2^24种
索引彩色:
4、图像处理中常用的输入设备:数码相机、数码摄像机、扫描仪;
图像处理中常用的输出设备:显示器、打印机、绘图仪。
5、图像的存储:
空间分辨率:M * N 幅度分辨率:G = 2^K
存储一幅图像所需位数(bit):b = M * N * K。
二、图像的基本运算
1、图像点运算

F为输入点的灰度值,G为输出点的灰度值,
- b = 0时,a>1,图像对比度增大;0<a<1,图像对比度减小。
- a = 1时,b>0,灰度值上移,亮度增加;b<0,灰度值下移,亮度降低。
- a = 1,b = 255,图像反相。
Matlab中图像线性变换:
Y = imlincomb(a,x,b); %Y=a*X+b
2、图像的加法运算
C(x,y) = A(x,y) + B(x,y)
图像的叠加方法:
g(x,y) = a*f(x,y)+ b*h(x,y); a+b = 1
matlab中:
A = imread(‘第一幅图’);
B = imread(‘第二幅图’);
C = 0.5*A + 0.5*B;
Imshow(c);
3、减法运算
主要检测同一场景两幅图像之间的变化
G(x,y) = T2(x,y)- T1(x,y)
Matlab中:
A = imread(‘第一幅图’);
B = imread(‘第二幅图’);
C = A - B;
Imshow(c);
4、乘法运算
用二值图像与原图像做乘法,得到需要的子图像。
Z = X .* Y; 要求X和Y的大小、数组元素相同。
Matlab中:
X = imread(‘被点乘的图像’);
Y = zeros(M,N);
Y (70:120, 120:380) = 1;
X = im2double(X);
Z = X.*Y;
Imshow(Z);
5、图像几何运算
(1)图像的镜像:
B = fliplr(A);水平镜像
B = flipud(A);垂直镜像
(2)图像的平移:
A = imread(‘tree.bmp’);
[M N] = size(A);
B = zeros(M, N, class(A));
tx = 100, ty = 50;
B(1+ty:M, 1+tx:N) = A(1:M-ty, 1:N-tx);
imshow(B);
(3)图像的旋转
B = imrotate(A, 60, ‘bilinear’, ‘crop’);截去局部
(4)图像的缩放
B = imresize(A, m);
(5)图像的转置
B = A’
三、图像的变换
1、傅里叶变换
傅里叶变换将图像从空域变换到频域;
傅里叶逆变换将图像从频域变换到空域。
2、一维傅里叶变换(会计算)


逆变换:

Matlab中一维傅里叶变换: Y = fft(X),省略系数1/N
3、二维傅里叶变换(会编程)
Y = fft2(X)
Matlab代码:
A = zeros(300,300);
A (100:200, 100:200) = 1;
B = fft2(A);
C = abs(B);
D = fftshift(C);
D1 = unint8(D);
Imshow(D1);
4、傅里叶变换的性质
(1)平移不变性:在空域图像平移时,在频域中频谱不变
(2)旋转一致性:空域中图像旋转a角度,在频域中同样也旋转a角度
5、离散余弦变换
Y = dct2