Matlab数字图像处理技术 最终版

  • 格式:docx
  • 大小:326.03 KB
  • 文档页数:15

下载文档原格式

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

Matlab数字图像处理技术

一、数字图像处理基础

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为输出点的灰度值,

a) b = 0时,a>1,图像对比度增大;0

b) a = 1时,b>0,灰度值上移,亮度增加;b<0,灰度值下移,亮度降低。

c) 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(X)二维离散余弦变换

A = imread(‘lenna.bmp’);

A1 = im2double(A);

B = dct2(A1);

C = abs(B);

Imshow(unint8(c));

四、图像增强

1、图像灰度映射

(1)点运算:见二.1节

(2)灰度拉伸

将原始图像的灰度区间分成多段,分别作线性变换,即分段线性变换。

Y = imadjust(X, [a,b], [a’,b’]) *注意要归一化

代码:

A = imread(’ballet.bmp’);

B = imadjust(A, [0, 0.2], [0, 0.8]);

imshow(B);

2、直方图的均衡化

直方图:表达一幅图像灰度级数分布情况的统计图。

横坐标:灰度值fk,一般取0~255;

纵坐标:1、某一灰度值fk的像素个数nk;

2、灰度值fk出现的概率nk/n,n是像素的总个数。

*手工计算直方图均衡化步骤:

(1)给出所有灰度级fk(k=0,…,L-1)的所有概率值;

(2)求出所有累积分布函数gk: