基于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种颜色配比(归一化):

v2-7d25eb404011caa2d4dc3f1265d557ff_b.jpg


(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、图像点运算


v2-7aa7120f3d917a4d15daa469b2472808_b.jpg


F为输入点的灰度值,G为输出点的灰度值,

  1. b = 0时,a>1,图像对比度增大;0<a<1,图像对比度减小。
  2. a = 1时,b>0,灰度值上移,亮度增加;b<0,灰度值下移,亮度降低。
  3. 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、一维傅里叶变换(会计算)


v2-63bd27c0e87775069710b3b5e6fb9a76_b.jpg

v2-4c9547c8225d30199b043061f86cf07c_b.jpg


逆变换:


v2-4da18b5b7e50e30b76d677265a7d4721_b.jpg


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

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于MATLAB数字图像处理的微表情情绪识别系统是一种利用数字图像处理技术来分析和识别人脸微表情的系统。微表情是一种非常短暂且微小的面部表情,往往在人类意识层面无法察觉,但通过数字图像处理技术可以提取和识别出来。 在这个系统中,首先需要将人脸从输入图像中提取出来。可以通过人脸检测算法,如Viola-Jones算法,来实现这一步骤。然后,会利用MATLAB中的图像处理工具箱对提取出的人脸图像进行预处理和增强,去除噪声和背景干扰,并对图像进行灰度化。接下来,可以使用人脸关键点检测算法,如Dlib库或OpenCV库中的方法,来标记出人脸图像中的重要区域,如眼睛、鼻子和嘴巴等。 在提取出人脸图像和关键点之后,就可以进行微表情情绪识别的处理。可以使用MATLAB中的图像处理算法和模型,如主成分分析(PCA)、离散小波变换(DWT)和支持向量机(SVM)等,来对微表情进行特征提取和分类。特征提取包括对微表情进行时空域特征的提取,如局部二值模式(LBP)和光流法等。分类指的是使用训练好的情绪分类模型,将提取到的特征输入,通过机器学习方法进行情绪分类。 最后,系统会根据特征提取和分类的结果,判断识别出微表情所表达的情绪。可以通过人为设定标签的训练数据集来训练情绪分类模型,评估模型的分类准确率。 综上所述,基于MATLAB数字图像处理的微表情情绪识别系统利用了数字图像处理技术和机器学习算法,能够从人脸图像中提取微表情特征并识别情绪。这个系统在情绪分析、心理研究等领域有着广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值