本系列文章都是通过自己的学习经验,以及啃文档所写。如需转载,请注明出处

参考文档:Image Processing Toolbox™ 6
User’s Guide


            作者:joy

           联系方式:joy543@live.com


二、图像的读取和存储

图像处理,主要是对已有的图像进行处理,然后再存储起来,并不是无中生有,创造出一幅图像。因此,图像的读取和存储显得比较重要。

这里创建test.m文件放入已经创建的Matlab文件夹里,之后的操作都在这里进行。由于在文件中操作和Command Window操作的效果一样,所以就不再加入说明。

第一章:一些函数的介绍

  1. 介绍三个常用函数

    clc;clear;closeall;

    这三个函数不分家,在一个文件的开头经常会看到。那么他们的作用是什么呢?clc的作用就是清屏幕,即Command Window里的内容会被清除掉,但是他的值仍然存在软件里。 clear是删除所有的变量。比如在前面定义了 A=5;用clear函数之后,A就被清除了。后面想要用,就需要重新定义。close all是将所有打开的图片关掉。在函数的开头写上这样的函数,就保证不会受到之前变量等的影响。

    当然,也可以单独使用。这样就能单独完成任务。这时最好在Command Window里操作。

  2. typefunction

    Matlab 里面有很多内置的函数,当我们想查看函数内容的时候,就可以用type function来实现。比如想要查看mean函数,Matlab到底是怎么实现,直接type mean就可以看到。如果是查看别人的写的程序,在mean上点击右键,open mean就可以了。

  3. ver

    查看当前Matlab版本的函数。一般用不到。

  4. docfunction /help function

可以用来查看函数的用途,语法,用途。可以说Matlab的help本身就是一本百科全书。很多内容都可以找到

第二章读取图像

  1. 图像的读取   
    I=imread(‘pout.tif’);

imread是读取图像的函数。pout.tif是matlab内置的图像,不管在什么程序内都可以直接读取。那么,如果我们要读取其他位置的函数怎么做呢?这里我们来说几种常见的情形。

注:Matlab文件夹内有test.m,1.jpg,image文件夹,同时image文件夹内有2.jpg

(1)读取1.jpg

I=imread(‘1.jpg’);

(2)读取2.jpg

I=imread(‘image\2.jpg’);%相对路径的读取

(3)读取D:\1023\25\1.jpg

I=imread(‘D:\1023\25\1.jpg’);%绝对路径的读取

(4)读取D:\1023\25内20个图像。

for i=1:20

I=imread([‘D:\1023\25\’,num2str(i),’.jpg’]);

end

注:第四种情况需要注意的是,里面添加了[ ],来保证这是一个整句。num2str(i)是将i由数字转换成字符形式。这样就能实现循环读取。一般来说,会将图像跟.m文件放在一起。当图像较多时,图像放入image文档中,读取方式将(2)和(4)结合起来。利用相对路径来读取,这样当程序和图像同时放在其他电脑上时,不会因为路径而产生问题。

  1. 图像的显示

  1. imshow(I)

  2. imtool(I)

  3. image(I)

http://blog.sina.com.cn/s/blog_49ea41a20101fndv.html

关于这三个函数用法的区别,就在上面这个文章内。主要的意思是:imshow显示按照原来的比例,而image会改变原来图像的比例。imtool,很少用到。那么用到的时候就再研究吧。一般用imshow就足够了。

那么什么时候用figure呢?当程序中只显示一幅图像时,直接imshow就可以。然后当图像多的时候,就需要用到figuure;imshow(I1);figure;imshow(I2);figure;imshow(I3)

如果想要在一张图片内,显示好几个图怎么办呢?title显示在图像的上方,起到提示的作用。

I=imread('pout.tif');

subplot(221);imshow(I);title('1');

subplot(222);imshow(I);title('2');

subplot(223);imshow(I);title('3');

subplot(224);imshow(I);title('4');

其中前面的22代表是2*2的分布,也可以是2*3,3*4等。按照行来排列,从第一行开始分别为1 2 3 4。如图所示。

这里还值得一提的是figure;如果没有要求的话,直接用figure。此时希望图2来显示某个图像,那么figure(2),就指定来显示某个图像。当然了,如果仅有一个图像显示这样做,那么可能会被覆盖掉,因此,一个程序中的用法一定要统一,并且保证后面的,不要把前面的覆盖掉。

3、查看和分析结果:

在workspace中会有I 291*240 uint8  74 224 ,就这说明了I是二维图像,大小是291*240,uint8型的。最小值为74,最大值是224.这里指的是灰度值。

用函数whos就能显示I的相关信息:

第三章图像的存储

1、图像的存储

imwrite(I,’pout1.jpg’);

同样,imwrite也有相对路径和绝对路径的存储,以及连续的存储方法。同imread

imwrite(I,’pout1.jpg’);

imwrite(I,’image\pout1.jpg’);

imwrite(I,’D:\Matlab\image\pout1.jpg’);

imwrite(I,[’image\’,num2str(i),’.jpg’]);%i是变量,需要定义

这里的.jpg可以改成.bmp等,想要的格式。

需要注明的是,存储所选择的文件夹,需要已经建立好。那么怎么去自动建立文件夹呢?

需要用mkdir函数。

mkdir(‘D:\image\1’)%绝对路径的建立。

mkdir(‘image\1’);%绝对路径文件夹的建立。创建之后,在Matlab文件夹内。

这样就能够节省很多的人力。当文件比较多的情况下,人工去建立的话,还容易出错。

最后附上今天的程序:当图像较多时,读取都主要选择相对路径,以及循环读取。程序较为简单。

clc;clear;closeall;

I=imread('pout.tif');

figure;

subplot(221);imshow(I);title('1');

subplot(222);imshow(I);title('2');

subplot(223);imshow(I);title('3');

subplot(224);imshow(I);title('4');

whos;

mkdir('image')

imwrite(I,'image\pout2.jpg');



二、Matlab图像的读取和存储相关推荐

  1. Matlab图像的读取和存储

    图像处理,主要是对已有的图像进行处理,然后再存储起来,并不是无中生有,创造出一幅图像.因此,图像的读取和存储显得比较重要. 这里创建test.m文件放入已经创建的Matlab文件夹里,之后的操作都在这 ...

  2. 位图BitMap图像的读取与存储

    做图像处理时的源文件一般要用无损的图像文件格式,位图(BitMap)是windows系统下可存储无压缩图像的文件格式.要实现位图文件的读取和存储,首先要明白位图文件的的存储数据结构.位图文件由四部分依 ...

  3. 图像的读取 matlab,Matlab编程环境下图像的读取

    <Matlab编程环境下图像的读取>由会员分享,可在线阅读,更多相关<Matlab编程环境下图像的读取(7页珍藏版)>请在人人文库网上搜索. 1.实验一 Matlab编程环境下 ...

  4. matlab 图像 幅度谱 低通滤波_数字图像处理期末复习2018-12-21

    数字图像处理期末复习2018-12-21 愉快先生 0.204 · 字数 5547 · 阅读 1834 2018-12-22 19:35 (数字图像冈萨雷斯第二版教材) 一.基本原理 图像的读取.存储 ...

  5. matlab 图像读取默认值,实验一MATLAB数字图像处理

    昆明理工大学信息工程与自动化学院学生实验报告 ( 2012 -2013 学年第二学期) 课程名称:图形图像处理开课实验室:信自444 2013年 5月 22日 一.实验目的与要求 1.熟悉及掌握在MA ...

  6. MATLAB中图像的读取与显示及灰度

    通常情况下,MATLAB通过imread函数读入标准格式图像文件,得到描述图像的数值数组,然后通过image.imagesc命令以这些数值数组为参数就可以在MATLAB  Figure窗口坐标轴下显示 ...

  7. MATLAB编程:简易读取分割存储 tif 格式图片

    MATLAB编程:简易读取分割存储 tif 格式图片 前言 一.介绍 二.MATLAB实现 三.总结 前言   本博主使用的MATLAB版本是2020b,这个版本可以使用许多有趣的扩展APP,本节将会 ...

  8. MATLAB实现图像的读取、写入、显示

    MATLAB实现图像的读取.写入.显示 数字图像表示 1.相关名词解析 强度(灰度):将一幅图像定义为一个二维函数f(x,y),任何一对空间坐标(x,y)处的幅值f称为图像在该点处的强度或灰度. 数字 ...

  9. MATLAB图像基本操作(信息查询/文件读取/写入/显示)

    本博文主要讲解matlab下的图像基本操作,图片使用下方的一张图片,只需要右击收藏就行了.给出讲解内容有: 文章目录 1.图像信息查询 1.1语法格式 1.2 案例1 2.图像文件读取 2.1 语法格 ...

最新文章

  1. Java变长参数应该注意的问题
  2. Django的静态文件的配置
  3. word2vec词向量 文本分类实现(TensorFlow版,算法TextCNN)
  4. servlet实现用户登录
  5. C#操作注册表增删改查及关机能保存问题
  6. 与protected成员有关的单元测试方式
  7. codeigniter:去掉 URL 中的 index.php
  8. OnePlus是什么
  9. 初学python-练习_4使用python编写本地登录程序(带注册)
  10. 网络安全——Base64编码、MD5、SHA1-SHA512、HMAC(SHA1-SHA512)哈希
  11. Android逆向分析之dex2jar异常处理的几种情况
  12. IRQL(多线程中断请求级别)
  13. 将m个相同的球全部放到n个相同的盒子里面有几种放法
  14. excel导出时报错 “文件格式和扩展名不匹配,文件可能已损坏或不安全”解决办法
  15. Pixracer V1.0编译固件
  16. 高仿知乎Android客户端欢迎引导动画
  17. 目标检测论文阅读:GFL算法笔记
  18. matlab输入数据作方程,用MATLAB函数编写并求解微分方程
  19. 团队RESTful 风格API规范
  20. OverFeat——全卷积首次用于检测问题 (目标检测)(深度学习)(ICLR 2014)

热门文章

  1. C语言运算符及其运算
  2. 通过CPUID指令读取处理器信息
  3. 锁仓怎么解_锁仓与解锁的方法
  4. STM32噪声警报器-----前期准备
  5. 考研安排(各种经验贴总结)
  6. 【转载】pyinstaller打包python文件后,运行出现Failed to execute script xxx.exe错误的解决方式(No module named 'xxx')
  7. HTML5 五子棋 - JS/Canvas 游戏
  8. 【开学征文】新生入学,盘点一下我的大学计划
  9. vmware文件夹同步
  10. c语言封面图片,c语言黑白简历封面