第五篇 Matlab图像处理

上传人:飞*** 文档编号:51732328 上传时间:2018-08-16 格式:PPT 页数:51 大小:433KB
返回 下载 相关 举报
第五篇 Matlab图像处理_第1页
第1页 / 共51页
第五篇 Matlab图像处理_第2页
第2页 / 共51页
第五篇 Matlab图像处理_第3页
第3页 / 共51页
第五篇 Matlab图像处理_第4页
第4页 / 共51页
第五篇 Matlab图像处理_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《第五篇 Matlab图像处理》由会员分享,可在线阅读,更多相关《第五篇 Matlab图像处理(51页珍藏版)》请在金锄头文库上搜索。

1、第五篇 Matlab图像处理数字图像的概念下标表示了当前像素点在图像中的位置;表示了图像当前位置的亮度或灰度;数字图像的形成一幅数字图像由许 多个像素组成,像素 也是数字图像的单位 之一;胶片(模拟) 图像的单位为长度, 如寸、毫米等等,1 英寸证件照的尺寸为 3.6cm2.7cm; 2英 寸证明照的尺寸是 3.5cm5.3cm; 5英 寸照片的尺寸为 12.7cm8.9cm; 数字图像的生成就是 为每个像素填上需要的 颜色值。数码相机、摄像机、 扫描仪等设备。n 图像处理是对数字图像进行各种操作,如亮度、对 比度调整,去噪、边缘检测、压缩、分割和目标识别等 工作;n RGB彩色图像是由三幅独

2、立的红、蓝、绿分量图像 组成,对彩色图像的处理可以转化为对三基色分量图像 的处理;n什么是调色板? 1、Matlab图像处理工具箱常用命令 1)图像读取 I=Imread(path or name) I,map=Imread(path or name)2)显示图像 Imshow(I) Imshow(I,map) Imshow(I,low,high) Imshow(I, )格式描述后缀 TIFF标签图 像文件格式 .tif .tiff JPEG联合图像专家组.jpg .jpeg GIF图形交换格式(imwrite unuse ).gifPNG可移植网络图形.png BMPWindows位图.bm

3、p XWDX Windows转储.xwdI待显示图像矩阵 map调色板 low,high为灰度最大、最小值,小于为0,大于为255; 将low设置为矩阵I的最小值,high设置为I的最大值;3)pixval交互显示单个像素的亮度值;显示欧几里得距离;4)imfinfo获得图像文件信息;5)size(I)获得图像矩阵大小;6)保存图像imwrite(I,filename,fmt)imwrite(I,map,filename,fmt)I待保存的图像矩阵;filename图像保存路径; fmt图像保存格式;7)改变图像大小B = imresize(I, scale)B = imresize(I, m

4、rows ncols)B,newmap = imresize(I, map, scale)实例:5-1.m2、图像分类 1)二值图像像素取值只能为0或1;逻辑矩阵; B=logical(A) 非零为1; Islogical 判断是否为逻辑矩阵; Sample:5*5大小矩阵,按图像显示2)灰度图像(亮度)灰度图像可分为8位和16位两种,像素数据 类型为uint8和uint16,分别对应0 255、0 655353)索引图像索引图像包括调色板和图像数据两部分,是 把颜色进行排列、编号,图像数据对应为该点像 素的颜色序号而非颜色本身;调色板为m3矩阵,每一行代表一种颜色, 各元素的值介于0,1之间

5、,乘以255来表示实际 值; 交换调色板中各行的位置,导致像素对应 颜色值的变化。 实例:5-2.m4)真彩(RGB)图像由三基色RGB组合各种颜色值,每一幅真彩图 像由三个基色分量图组合而成。真彩图像灰度图像 近似平均 R=G=B=(R+G+B)/3 亮度方程 三基色与白光之间的数学关系,即三基 色按什么比例组合可以生成白光; R=G=B=0.3R+0.59G+0.11B 实例:5-3.m 红蓝紫 红绿黄 蓝绿青 黄红橙 黄蓝绿 红蓝绿白 3、图像类型转换根据需求,将图像在不同类型间进行转换;索引图 像,无法直接滤波; 1)dither通过抖动算法转换图像类型; X = dither(RGB

6、, map) 抖动算法将RGB图像按指定的 调色板map转换为索引图像X; BW = dither(I) 将灰度图像通过抖动算法转换为二值 图像;2)im2bw通过设置亮度阈值,把真彩图像、索引图像以及灰 度图像转换为二值图像;BW = im2bw(I, level) 灰度图-二值图 BW = im2bw(X, map, level) 索引图-二值图 BW = im2bw(RGB, level) 真彩图-二值图 实例:5-4.m% sample 13)ind2gray将索引图转换为灰度图像,命令去除了索引图像 的色度和饱和度信息,而仅保留了亮度信息; I = ind2gray(X,map)4)

7、ind2rgb将索引图转换为真彩图像,命令把调色板中的颜 色值赋给了图像矩阵; 实例:5-4.m% sample 2I = ind2rgb(X,map)5)mat2gray将数据矩阵转换为灰度图像; I = mat2gray(A, amin amax) I = mat2gray(A)6)gray2ind X, map = gray2ind(I,n)灰度图-索引图 X, map = gray2ind(BW,n)二值图-索引图7)grayslice通过设定阈值将灰度图像转换为索引色图; X = grayslice(I, n) 把灰度图像均匀量化为n个等级,然后转换为伪彩色 图像; 实例:5-4.m

8、% sample 38)rgb2gray真彩图像转换为灰度图像,或将彩色调色板转换 为灰度调色板; X = rgb2gray(A) 实例:5-4.m% sample 49)rgb2ind真彩图像转换为索引图像; X,map = rgb2ind(RGB, n)调色板含n种颜色 X = rgb2ind(RGB, map)实例:5-4.m% sample 54、图像的插值运算图像插值缩放等操作时的像素取法1)图像插值运算a)最近邻插值 nearest neighbor interpolation每个插值输出像素的值就是输入图像中与其最 近的采样点的值;它是matlab图像处理工具箱默认 的插值方法,

9、计算量小、速度快,对索引图像来说 是唯一的方法。但当图像中含有较多高频分量时, 会造成放大后的块状效应;b)双线性插值 bilinear interpolation其输出像素值是它在输入图像位置上22邻域内 四个像素的平均值,即由某个像素周围四个像素的 灰度值在水平和垂直两个方向进行插值;c)双三次插值 bicubic interpolation其输出像素值是它在输入图像位置上44邻域内 16个像素的平均值;插值效果的提升带来了大量的计算,插值算法是目 前研究的一项内容;d) 一维插值函数 interpfty = interpft(x,n)采用傅里叶变换进行计算,首先用fft函数把原始数据 转

10、换到傅里叶域,然后完成插值并转换回时域空间;例:5-103 interpft.me)一维插值函数 interp1yi = interp1(x,Y,xi,method)采用傅里叶变换进行计算,首先用fft函数把原始数据 转换到傅里叶域,然后完成插值并转换回时域空间;例:5-104 interp1.mf) 二维插值函数 interp2 ZI = interp2(X,Y,Z,XI,YI,method) 网格细分,按照二维函数f(x,y)来寻找已知数据点的中间点; Method参数例:5-105 interp2.m nearest 最近邻插值 linear 线性插值(默认) spline 三次样条插值

11、 cubic 类似三次样条插值,但插入数据点是均匀间 隔的 g) n维插值函数 interpn VI = interpn(X1,X2,X3,.,V,Y1,Y2,Y3,.,method) 插值是建立在n维函数v = f(x,y,z,t)上的。 例:5-106 interpn.m5、图像几何操作函数 1) imresize 图像插值缩放 B = imresize(A, scale) 输入图像A可以是灰度图、二值图或RGB真彩图,scale是缩放比 例,大于0; B = imresize(A, mrows ncols) mrows ncols用于指定目标图像的尺寸,如果希望保持长宽比 缩放,可以只指

12、定一个参数,另一置为NaN; Y newmap = imresize(X, map, scale/ mrows ncols) 输入图像X是索引图,缩放比例或尺寸采用上两种均可; . = imresize(., method) method用来指定缩放插值方法,nearest、bilinear、 bicubic; 实例:5-10.m2) imrotate 图像插值旋转B = imrotate(A, angle, method)旋转后图像超过原图像的部分默认置为0, method用来指定缩放插值方法,nearest、 bilinear、bicubic; B = imrotate(A, angle,

13、 method,crop) 可以采用crop参数对旋转后图像进行剪切,实例:5-11.m3) imcrop 图像的剪切从原始图像中剪切一个矩形子图,指定矩形的顶点 坐标及长宽,或鼠标选取; I = imcrop 生成一个交互的图像剪切窗口,用户由鼠标左键选择剪 切窗口大小,可以拖动、缩放剪切窗,用鼠标右键菜单 选择或双击来确定选择。 I2 = imcrop(I, rect) X2 = imcrop(X, map, rect) rect包含矩形剪切窗信息,xmin ymin width height 实例:5-12.m4) 矩形窗口 imrect在当前图形窗口中生成一个交互的矩形框,用 户通过鼠

14、标左键拖拽选择矩形框的大小,可以拖动 、缩放矩形框,并返回该矩形框的句柄。 H = imrect h = imrect(hparent, position) hparent为当前图形窗口句柄, position包含矩形剪 切窗信息,xmin ymin width height 5) 椭圆窗口 imellipse在当前图形窗口中生成一个交互的椭圆框,用 户通过鼠标左键拖拽选择椭圆框的大小,可以拖动 、缩放椭圆框,默认为圆形框,并返回该矩形框的 句柄。H = imellipse h =imellipse (hparent, position) position包含椭圆外接矩形窗的信息,xmin y

15、min width height 实例:5-108 imrect.m6) 交互直线 imline在当前图形窗口中生成一根交互的、可拖拽的、可变长 度的直线,并返回该矩形框的句柄。 H = imline h = imline (hparent, position) hparent为当前图形窗口句柄, position形如X1 X2; Y1 Y2 ,包含直线的信息;7) 多边形框 impoly在当前图形窗口中生成一个交互的多边形框 , 用户通过鼠标左键拖拽选择多边形框的位置,可以 拖动多边形框 的各个顶点来改变多边形框 的形状, 并返回该多边形框的句柄。 H = impoly h =impoly

16、(hparent, position) position形如X1,Y1;.;XN,YN ,包含多边形框各顶 点的信息;8) 自选区域 imfreehandH = imfreehand 实例:5-109 impoly.m图像的邻域和块操作 1、滑块邻域操作滑块邻域是一组像素,操作对象为邻域中心的像素 。对于mn的滑块邻域,其中心像素的位置为:floor ( ( m,n+1 ) / 2 ) m=2,n=3 floor(2,3+1)/2)=floor(3,4/2)=1,2目的:对图像进行平滑、去噪等相关的像素操作; 滑动邻域操作的步骤: 1)选择像素; 2)确定滑动邻域的大小; 3)根据需要,选择函数对邻域内像素操作; 4)计算结果作为输出图像的该点像素值; 5)按1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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