2024年6月2日发(作者:)

MATLAB函数的filter2 conv2 imfilter2函数

imfilter实现的是线性空间滤波;

conv2是计算两个矩阵的二维卷积

1、MATLAB中提供了卷积运算的函数命令conv2,其语法格式为:

C = conv2(A,B)

C = conv2(A,B)返回矩阵A和B的二维卷积C。若A为ma×na的矩阵,B为mb×nb的矩阵,

则C的大小为(ma+mb+1)×(na+nb+1)。

2、MATLAB图像处理工具箱提供了基于卷积的图象滤波函数filter2,filter2的语法格式为:

Y = filter2(h,X)

其中Y = filter2(h,X)返回图像X经算子h滤波后的结果,默认返回图像Y与输入图像X大小

相同。例如:

其实filter2和conv2是等价的。MATLAB在计算filter2时先将卷积核旋转180度,再调用conv2

函数进行计算。

Fspecial函数用于创建预定义的滤波算子,其语法格式为:

h = fspecial(type)

h = fspecial(type,parameters)

参数type制定算子类型,parameters指定相应的参数,具体格式为:

type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。

type= 'gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma

表示滤波器的标准差,单位为像素,默认值为0.5

三个函数实际的用法基本结果是一样的。 但imfilter可进行多维图像(RGB等)进行空间滤

波,filter2 只能对二维图像(灰度图)进行空间滤波,conv2可以对图像矩阵实现自己想实

现的卷积操作,最简单最常用的是二维。所以conv2和filter2类似,多维图像(RGB等)要

用imfilter

表1 图像显示

函数名

colorb

ar

getima

ge

image

subima

ge

images

c

调整数据并显示图像

建立显示图像

在同一图像窗口显示多个图像

ie

warp 显示图像为纹理映射表面

从坐标系中获取图像数据

e

movie

truesz

播放电影

调整图像显示大小

颜色条显示

e

immovi从多帧索引图像中制作电影

功能说明 函数名

montag

功能说明

按矩形剪辑方式显示多帧图像

imshow 图像显示 zoom

表2 图像文件输入/输出

二维图形放大或缩小

函数名 功能说明 函数

功能说明

imread 图像文件读入 load

内存

将以mat为扩展名的图像文件调入到

imwrit

e

dicomr

ead

iminfo

图像写出 save 将内存变量中图像保存到mat文件中

读取DICOM图像 dicom

write

输出DICOM图像

查看图形信息

表3 图像像素值及其统计

函数名

impixe

l

improf

ile

mean2

std2

求均值

求标准差

功能说明

返回选定图像像素颜色值

ur

图像中沿一个路径的数据值计算

函数名

imconto

功能说明

画图像数据轮廓(等高线,等值线)

imhist 求图像数据直方图

corr2

表4 图像分析

求相关系数

函数名

edge

功能说明

灰度图像边缘检测

k

函数名

qtgetbl

功能说明

获得四叉树分解块值

qtecom

p

执行四叉树分解

k

qtsetbl设置四叉树分解块值

表5 图像增强及平滑

函数名

imadju

st

histeq 直方图均衡

2

imnois给图像增加噪声 wiener2 二维自适应除噪滤波器

功能说明

对比度调整

2

ordfilt顺序统计滤波器

函数名

medfilt

功能说明

二维中值滤波器

e

表6 图像线性滤波及二维线性滤波器设计

函数名

conv2

convmt

x2

convn

filter

2

fspeci

al

frespa

ce

表7 图像变换

函数名

fft

ifft

fft2

ifft2

fftn

ifftn

fftshi

ft

表8 图像领域及操作

函数名

bestbl

k

blkpro

c

col2im 重排矩阵列成图像块

r

nlfilte进行一般领域计算

对图像实行不同的块处理 im2col 重排图像块为矩阵列

功能说明

选择块处理的块大小

函数名

colfilt

功能说明

使用列方向函数进行领域运算

功能说明

计算一维快速Fourier变换

计算一维FFT的逆变换

计算二维FFT

计算二维逆FFT

计算多维FFT

计算多维逆FFT

直流分量移到频谱中心

函数名

dct

idct

dct2

idct2

dctmtx

radon

功能说明

计算离散余弦变换

计算离散反余弦变换

计算2D离散余弦变换

计算2D反离散余弦变换

计算TCT矩阵

计算Radon变换

确定二维频率响应间隔

产生预定义滤波器 fwind2

多维卷积

二维线性数字滤波器

ftrans

fwind1

用二维窗口方法设计二维FIR滤波

用频率抽样转换二维FIRlbq

用一维窗口方法设计二维FIR滤波

二维卷积

计算二维卷积矩阵

功能说明 函数名

freqz2

fsamp2

功能说明

计算二维频率响应

用频率抽样设计二维FIR滤波器

表9 二值图像操作

函数名

applyl

ut

bwarea 计算二值图像中的目标区域

t

bweule

r

bwfill

bwlabe

l

bwmorp

h

表10 基于区域的图像处理

函数名

roicol

or

roifil

l

表11 图像几何运算

函数名

imcrop 图像剪裁

e

imresi

ze

表12 图像颜色图操作

函数名

bright

en

cmperm

ute

cmuniq寻找唯一的颜色图及相应的图像

重新排列颜色图中的颜色

x

rgbplot 绘制RGB颜色图

功能说明

颜色图像变亮或变暗

p

imappro由颜色较少的图像近似索引图像

函数名

colorma设置获取图

功能说明

图像大小调整 interp2 二维数据差值

功能说明 函数名

imrotat图像旋转

功能说明

在任意区域内平滑差值

功能说明

根据颜色选择要处理的区域

2

roipoly 选择要处理的多边形区域

函数名

roifilt

功能说明

对要处理区域滤波

二值图像形态运算

二值图像背景区域填充

标识二值图像中的连接成分

erode

makelut

对二值图像进行寝蚀运算

构造查找表(applylut)使用

计算二值图像中的欧拉数 dilate 对二值图像进行膨胀计算

bwselec选择二值图像中的目标

功能说明

使用查找表进行领域操作

函数名

bwperim

功能说明

确定二值图像中的目标边界

ue

表13 颜色控件转换

函数名

hsv2rg

b

rgb2hs

v

将RGB颜色值转换为HSV颜色值

c

功能说明

将HSV颜色转化为RGB颜色值

b

rgb2nts将RGB值转换为NTSC颜色空间值

函数名

mtsc2rg

功能说明

将NTSC值转换为RGB颜色空间值