数字图像处理技术MATLAB图像处理简介_第1页
数字图像处理技术MATLAB图像处理简介_第2页
数字图像处理技术MATLAB图像处理简介_第3页
数字图像处理技术MATLAB图像处理简介_第4页
数字图像处理技术MATLAB图像处理简介_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB图像处理(t xin ch l)基础MATLAB语言的特点(tdin):交互性:编程、数据处理、可视化输出便于矩阵运算和图像处理丰富的函数库和在线资源MATLAB的图像处理工具箱(Image Processing Toolbox, IPT)包含了许多图像处理相关函数以方便数字图像处理编程,是构建图像处理原型系统的理想环境。1共二十四页MATLAB图像处理(t xin ch l)基础典型(dinxng)桌面:2共二十四页MATLAB图像处理(t xin ch l)基础一. 读取图像:将图像rose-orginal.tif读入图像数组f f = imread(.rose-origina

2、l.tif);显示图像大小信息: size(f)ans = 1024 1024或者将大小信息赋给变量(binling): M, N = size(f);whos显示更为详细的信息: whos f Name Size Bytes Class f 1024x1024 1048576 uint8 arrayGrand total is 1048576 elements using 1048576 bytes3共二十四页MATLAB图像处理(t xin ch l)基础二. 显示图像: imshow(f)指定显示的灰度范围 figure, imshow(f, 100 200)情况(qngkung)下显示

3、图像的整个动态范围: figure, imshow(f, )4共二十四页MATLAB图像处理(t xin ch l)基础直接(zhji)显示: imshow(h)改善动态范围: imshow(h, )5利用imshow改善图像动态范围(设图像已被读入到h):共二十四页MATLAB图像处理(t xin ch l)基础以交互方式显示(xinsh)像素值: pixval利用pixval显示像素之间距离:按下鼠标左键并拖动6共二十四页MATLAB图像处理(t xin ch l)基础三. 将图像写入磁盘: imwrite(f, rose.jpg)对于(duy)JPEG压缩格式,可指定质量因子: imwr

4、ite(f, rose.jpg, quality, 25)7quality = 100quality = 50quality = 5共二十四页MATLAB图像处理(t xin ch l)基础显示图像(t xin)信息: imfinfo rose.jpg8共二十四页MATLAB图像处理(t xin ch l)基础计算压缩率:将图像信息存储(cn ch)在结构变量中以方便运算。9 K = imfinfo(rose.jpg); image_bytes = K.Width*K.Height*K.BitDepth/8; compressed_bytes = K.FileSize; compression

5、_ratio = image_bytes/compressed_bytescompression_ratio = 30.0340 共二十四页文件(wnjin)读写无格式文件数据的读写: fopen, fread, fwrite, fclosemat文件数据的读写: load, save有格式文件数据的读写:imread, imwrite剪切任意(rny)形状区域:imshow(f), pixval, c=354 858 2147 2290 776 367, r=3 7 363 2901 3262 3258, BW=roipoly(f,c,r), b=f.*uint8(BW), imview(b

6、)共二十四页MATLAB图像处理(t xin ch l)基础四. MATLAB中的数据类型:11类型名称描述double双精度浮点类型,8字节(MATLAB数值运算基本类型)uint8无符号8位整数(8位数字图像所用类型)uint16无符号16位整数(16位数字图像所用类型)uint32无符号32位整数int8有符号8位整数int16有符号16位整数int32有符号32位整数single单精度浮点类型,4字节char字符类型,2字节(Unicode编码)logical逻辑类型(0或1),1字节(二值图像所用数据类型)数值(shz)类型共二十四页MATLAB图像处理(t xin ch l)基础五

7、. MATLAB中的图像类型:灰度图像(intensity images):元素取值代表灰度级的矩阵。采用不同数据类型时取值范围:uint8: 0, 255, uint16: 0, 65535, double: 0, 1。二值图像(binary images):元素取值为0或1的逻辑矩阵。注意:取值0或1的数值类型矩阵在MATLAB中不认为是二值图像,必须(bx)进行转换:B = logical(A)上述运算将A中所有非0值变为逻辑值1。12共二十四页MATLAB图像处理(t xin ch l)基础六. 图像类型(lixng)的相互转换:下表中的函数在图像类型转换中会进行必要的数据比例变换。1

8、3 f = -0.5 0.5;0.75 1.5f = -0.5000 0.5000 0.7500 1.5000 g = im2uint8(f)g = 0 128 191 255im2unit8将输入double类型数据中小于0的数转换为0,大于1的数转换为255,其余数据乘以255再四舍五入到最近整数。共二十四页MATLAB图像处理(t xin ch l)基础将double类型任意矩阵(j zhn)转换为double类型图像:g = mat2gray(A, Amin, Amax);A中小于Amin的数据变为0,大于Amax的数据变为1。g = mat2gray(A);则将Amin和 Amax分

9、别设为A 中元素的最小值和最大值。im2double将图像转换为double类型。如果输入数据已经是double类型,则不对输入数据做任何改变。因此,对于double类型的图像转换,应该使用mat2gray。14 h = uint8(25 50; 128 200); g = im2double(h)g = 0.0980 0.1961 0.5020 0.7843im2double将输入的uint8型数据除以255,将输入的uint16型数据除以65535。共二十四页MATLAB图像处理(t xin ch l)基础im2bw将灰度图像转换为二值图像。一般(ybn)形式:g = im2bw(f, T

10、);将灰度图像f利用门限值T转换为二值图像g。f中小于T的像素值转为逻辑值0,其余像素值转为逻辑值1。T的取值范围是0, 1。以下形式默认T = 0.5:g = im2bw(f);15共二十四页MATLAB图像处理(t xin ch l)基础几个例子:(a) 将double类型图像f = 1 2; 3 4转换(zhunhun)为二值图像,使其第一行为0,第二行为1。16 f = 1 2; 3 4f = 1 2 3 4 g = mat2gray(f)g = 0 0.3333 0.6667 1.0000 gb = im2bw(g, 0.5)gb = 0 0 1 1此处更为简单的方法: gb = f

11、 2gb = 0 0 1 1共二十四页MATLAB图像处理(t xin ch l)基础(b) 将二值图像gb = 0 0; 1 1转换(zhunhun)为double类型图像。注意,如果gb为uint8类型图像,则转换结果有所不同:17 gbd = im2double(gb)gbd = 0 0 1 1 gb = uint8(gb)gb = 0 0 1 1 gbd = im2double(gb)gbd = 0 0 0.0039 0.0039共二十四页MATLAB图像处理(t xin ch l)基础图像处理的几个(j )简单例子:18原图像(10241024)rose-original.tif将原

12、图像垂直翻转: f = imread(rose-original.tif); fp = f(end:-1:1, :); imwrite(fp,rose-verflip.tif);共二十四页MATLAB图像处理(t xin ch l)基础19提取(tq)图像的一部分: fc = f(257:768, 257:768); imwrite(fc,rose-cut.tif);将图像亚采样为二分之一: fs = f(1:2:end, 1:2:end); imwrite(fs,rose-sample.tif);分析图像中间一行灰度分布: plot(f(512,:)共二十四页MATLAB图像处理(t xin

13、 ch l)基础图像放缩:利用函数imresize可实现图像放缩,一般形式为:h = imresize(f, m, method);h为待放缩图像,m为倍数(bish)(小于1为缩小,大于1为放大),method为插值方法,取值为nearest, bilinear, 或bicubic。20原图像(300300)lena.jpg f = imread(lena.jpg); h = imresize(f, 0.1, bilinear); imwrite(h, lena01.jpg);共二十四页MATLAB图像处理(t xin ch l)基础21双线性插值放大(fngd): hb = imresiz

14、e(h, 10, bilinear); imwrite(hb, lenahb.tif);最近邻插值放大: hn = imresize(h, 10, nearest); imwrite(hn, lenahn.tif);共二十四页一些重要的标准数组:zeros, ones, ture, false, magic, rand, randn一些重要的变量和常量(chngling):ans, eps, i, j, pi, NaN, nan, realmax, realmin, computer, version编写m文件:Function outputs=functionname(inputs)22MATLAB图像处理(t xin ch l)基础共二十四页一些(yxi)重要的函数与命令:ndims, error, numel, sprintf, break, continue 代码优化:1、向量运算替代循环(30 times fast)2、预分配数组或变量,减少存储器碎片与动态分配耗时3、减小I/O操作: disp, input, 结构体:S.char=gauss, S.matrix=zeros(2), S.scalar=323MATLAB图像处理(t xin ch l)基础共二十四页内容摘要MATLAB图像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论