matlable在图像处理中的应用

上传人:s9****2 文档编号:567485952 上传时间:2024-07-20 格式:PPT 页数:27 大小:1.28MB
返回 下载 相关 举报
matlable在图像处理中的应用_第1页
第1页 / 共27页
matlable在图像处理中的应用_第2页
第2页 / 共27页
matlable在图像处理中的应用_第3页
第3页 / 共27页
matlable在图像处理中的应用_第4页
第4页 / 共27页
matlable在图像处理中的应用_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《matlable在图像处理中的应用》由会员分享,可在线阅读,更多相关《matlable在图像处理中的应用(27页珍藏版)》请在金锄头文库上搜索。

1、matlable在在图像像处理中的理中的应用用2024/7/202024/7/20一.图像的灰度直方图图像的灰度直方图(H是图像a.bmp的数据矩阵)imhist(H):显示a的直方图 histeq(H):将图像a进行直方图均衡化 adapthisteq(H):将图像a进行直方图均衡化imhist函数只能处理二维图像,因此处理RGB图像,需先转化成灰度图像,显示灰度直方图 H=rgb2gray(imread(kang.jpg); subplot(3,2,1); imshow(H); title(原图); subplot(3,2,2); imhist(H); title(原图直方图); subp

2、lot(3,2,3); H1=adapthisteq(H); imshow(H1); title(adapthisteq均衡后图); 2024/7/202024/7/20 subplot(3,2,4); imhist(H1); title(adapthisteq均衡后直方图); subplot(3,2,5); H2=histeq(H); imshow(H2); title(histeq均衡后图); subplot(3,2,6); imhist(H1); title(histeq均衡后直方图)2024/7/202024/7/20 函数imadjust用于对灰度级图像进行灰度变换。该函数的一般语法

3、格式为: g=imadjust(f,low-in high-in,low-out high-out,gamma) 该函数将图像f中的灰度值映射为图像g中的新值,即将low-in至high-in之间的值映射到low-out至high-out之间的值,若gamma值小于1,则映射被加权值较高(较亮)的输出值,若gamma值小于1,则映射被加权值较低(较暗)的输出值。若函数参量缺省,则gamma默认为1(线性映射)。 例:直方图的对应变化和图像对比度的变化2024/7/202024/7/20 二.频率域滤波平滑滤波器 K=filter2(fspecial(average,3),I)/255; fsp

4、ecial(average,3):用来创建3*3的均值滤波器 Fspecial(h,I):滤波函数 I:原图像矩阵中值滤波器 K=medfilt2(I,3,3); Medfilt2:中值滤波器 I:原图像矩阵 3,3:窗宽 imfilter是多维滤波,而filter2只能二维图像滤波。2024/7/202024/7/202024/7/202024/7/20例一:利用低通邻域平均模板进行平滑2024/7/202024/7/20例二:中值滤波和平均滤波 2024/7/202024/7/20三.图像复原与重建加噪与去噪使用函数imnoise对图像添加噪声 基本语法形式如下: g=imnoise(f,

5、type,parameters) 其中,f是输入图像 g=imnoise(f,gaussian,m,var)将均值为m,方差为var的高斯噪声添加到图像f上。 默认值是均值是0,方差是0.01的噪声。 g=imnoise(f,localvar,v)将均值为0,局部方差为v的高斯噪声添加到图像f上,其中v是大小与f相同的一个数组,它在每个点包含了期望的方差值。 g=imnoise(f,localvar,image-intensity,var)将均值为0的高斯噪声添加到图像f上,其中噪声的局部方差var是图像f的灰度值的函数,自变量image-intensity和var是大小相同的向量,plot(

6、image-intensity,var)绘制出噪声方差和图像灰度间的函数关系。向量image-intensity必须是包含在范围0,1内的归一化灰度值。 g=imnoise(f,salt&pepper,d)用椒盐噪声污染图像f,其中d是噪声密度,默认的噪声密度是0.05。2024/7/202024/7/20例:对一幅图像加噪并去噪2024/7/202024/7/20一.傅里叶变换MATLAB函数fft,fft2,fftn实现了傅里叶变换算法,分别计算一维,二维DFT和n维DFT。函数ifft,ifft2和ifftn计算逆DFT。 使用傅里叶变换滤波时,需要对输入数据进行零填充。此时,语法变为F

7、=fft2(f,p,q) 使用这一语法,fft2会对输入图像填充所需数目的0,以便结果函数的大小为p*q。 傅里叶谱可以使用函数abs获得:s=abs(F) 可以使用函数fftshift将变换的原点移动到频率矩形的中心。语法为Fc=fftshift(F) 与中心处亮度值占支配地位的8位显示相比,该谱中值的范围很大,通过对数变换解决这一问题:s2=log(1+abs(Fc) 2024/7/202024/7/20例一: 图象的FFT变换 2024/7/202024/7/20 2024/7/202024/7/20例二:图象的DCT变换 2024/7/202024/7/20例三:傅里叶变换的Matla

8、b代码2024/7/202024/7/20二.离散余弦变换 离散余弦变换是与傅里叶变换紧密相关的数学运算。在傅里叶级数展开式中,如果被展开的函数是实偶函数,那么其傅里叶级数中只包含余弦项,再将其离散化可导出余弦变换,因此称之为离散余弦变换。 JPEG图像压缩算法将输入图像分割成8*8或16*16的数据块,对每个块计算二维DCT,然后DCT系数被量化,编码和传输。 为了方便对图像进行分块处理,经常需要用到函数blkproc,以便进行分块之后的变换处理。具体调用形式如下: B=blkproc(A,m n,fun,parameter1,parameter2,.) B=blkproc(A,m n,mb

9、order nborder,fun,.) B=blkproc(A,indexed,.) 图像以m*n为分块单位,对图像A进行处理,parameter1和parameter2是传递给fun函数的参数,mborder和nborder表示对每个m*n块上下进行mborder个单位,左右进行nborder个单位的扩充。若扩充的像素值为0,fun函数对整个扩充后的分块进行处理。2024/7/202024/7/20三.Radon变换Radon变换是与CT断层影响重建算法相关的数学变换,二维情况下Radon变换大致可以理解为一个平面内沿不同的直线(直线与原点的距离为d,方向角为A)对二维函数f(x,y)做线

10、积分,得到的像F(d,A)就是函数f的Radon 变换。 Radon函数具体使用如下: R,xp=radon(I,theta); theta参数表示旋转角度。R的列包含了theta中每个角度的Radon变换;向量xp包含沿x轴的对应坐标;I的中心像素定义为floor(size(I)+1)/2),它是x轴上对应于x=0的像素。 Example:计算一幅图像在0度和45度上的Radon变换。2024/7/202024/7/20例一:使用如下命令进行Radon变换2024/7/202024/7/20例二:方形图像的Radon变换从0度一直计算到180度,间隔为12024/7/202024/7/20例

11、三:首先用radon函数计算图像I在一组旋转角度theta下的Radon变换R,然后用iradon函数根据R和Theta重建图像I。2024/7/202024/7/20四.图像分割一:点检测2024/7/202024/7/20 二:线检测2024/7/202024/7/20三.边缘检测 1、用Prewitt算子检测图像的边缘 I = imread(bacteria.BMP); BW1 = edge(I,prewitt,0.04); % 0.04为梯度阈值 figure(1); imshow(I); figure(2); imshow(BW1);2、用不同值的LoG算子检测图像的边缘 I = i

12、mread(bacteria.BMP); BW1 = edge(I,log,0.003); % =2 imshow(BW1);title(=2) BW1 = edge(I,log,0.003,3); % =3 figure, imshow(BW1);title(=3)3、用Canny算子检测图像的边缘 I = imread(bacteria.BMP); imshow(I); BW1 = edge(I,canny,0.2); figure,imshow(BW1); 2024/7/202024/7/204、图像的阈值分割 I=imread(blood1.tif); imhist(I); % 观察灰

13、度直方图, 灰度140处有谷,确定阈值T=140 I1=im2bw(I,140/255); % im2bw函数需要将灰度值转换到0,1范围内 figure,imshow(I1); 分别用sobel和laplacian算子来进行程序如下 2024/7/202024/7/20 2024/7/202024/7/20 比较提取边缘的效果可以看出sober算子是一种微分算子对边缘的定位较精确但是会漏去一些边缘细节。而Laplacian-Gaussian算子是一种二阶边缘检测方法它通过寻找图象灰度值中二阶过零点来检测边缘并将边缘提取出来边缘的细节比较丰富。通过比较可以看出Laplacian-Gaussian算子比sober算子边缘更完整效果更好。 2024/7/202024/7/20四.对灰度图像进行灰度分割处理 2024/7/202024/7/20

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号