# [MATLAB] 数字图像处理_基本原理(一)

  • 前言
  • 一、基本原理
  • 二、数字图像的表示
    • 1.坐标约定
    • 2.读取图像
    • 3.获取图像的行数和列数
    • 4.返回图像的附加信息
    • 5.显示图像
  • 三、总结
  • 四、参考文献:

文章目录

  • 前言
  • 一、基本原理
  • 二、数字图像的表示
    • 1.坐标约定
    • 2.读取图像
    • 3.获取图像的行数和列数
    • 4.返回图像的附加信息
    • 5.显示图像
  • 三、总结
  • 四、参考文献:

前言

视觉是我们感觉中最高级的。因此,在人类感知世界中的重要程度不言而喻。然而,人类的视觉被限制在电磁波谱的可视波段,而成像机器几乎覆盖了全部的电磁波谱。它还可以在人类不常涉及的图像上进行处理,例如超声波、电子显微镜等。因此,数字图像处理有着很广泛的应用领域。本系列注重实践与理论相结合,基于matlab实现对图像进行处理。参考书籍:数字图像处理(冈萨雷斯)及其实验书籍。


提示:以下是本篇文章正文内容,下面案例可供参考

一、基本原理

MATLAB为数字图像处理带了一套广泛且容易理解的函数集。处理对象是多维数字(图像—二维数值数组)。IPT(图像处理工具箱)是用来扩展MATLAB数值的计算能力的函数集。从本章节将对MATLAB表示法及IPT,作为今后的基础知识。

二、数字图像的表示

对于一幅图像而言,我们通常将它转为一个二位函数f(x,y),即在空间平面坐标处,图像在该点的亮度为f(x,y)。
灰度:黑白图像亮度。
RGB:彩色系统,图像可分为红、绿、蓝,三幅独立的分量图像。
取样:将坐标值数字化。
量化:将振幅数字化。
数字图像:f的x,y分量和振幅都是有限且离散的量。

1.坐标约定

对于大多数编程语言以及数字图像处理的书籍中,对于一个二位数组(图像)通常f (x,y) 的x代表行,y代表列,图像的原点位于(0 ,0 ) 处。即对于一个有 Q 行 P 列的图像,x 的范围在0~ Q-1,y 的范围在0~ P-1。

但是IPT的约定方法与上述约定方法有两处不同:
1、使用(r , c)来定义行与列;
2、图像的原点位于(r , c)=(0,0)处;
注意:除此之外,IPT文档还可能采用另一种较少使用的坐标约定,称之为空间坐标,且这种定义方法以 x 表示列, y 表示行。

2.读取图像

使用imread函数(语法):

imread('filename')

该处使用的filename是一个含有图像文件全名的字符串(包括任何可以使用的扩展名),例如:

>>f = imread('pic_1.jpg');

注意:
1、命令行结尾的分号用于取消MATLAB中结果的输出,否则,会立即显示结果;
2、>>为在MATLAB命令行出现的提示符;
3、如上例,filename中不含有任何路径信息时,imread函数会从当前目录下开始搜素,如果没有想要的文件,它会从MATLAB搜索路径中寻找该文件。要想读取指定文件,最好的方法是将完整路径输入单引号其中。例如:

f = imread('D:\matlab-r2019b\matlab 2019b\pic_1.jpg');//读取图像文件

3.获取图像的行数和列数

函数size可以得到一幅图像的行数和列数,例如:

>>size (f)

结果是;

ans = 1024  1024

也可以使用以下格式来自动确定一个函数的大小:

>>[M, N] = size (f);

4.返回图像的附加信息

函数whos可以得到一幅图像的附加信息,例如:

>>f = imread('D:\matlab-r2019b\matlab 2019b\pic_1.jpg');//读取图像文件
>>whos f

输出结果为:

  Name         Size                   Bytes  Class    Attributesf         3024x4032x3            36578304  uint8

也可以使用以下函数对数据及数据进行读取:

 f = imread('D:\matlab-r2019b\matlab 2019b\pic_1.jpg');//读取图像文件K = imfinfo('pic_1.jpg');//对图像信息进行处理

结果如下:

Filename: 'D:\matlab-r2019b\matlab 2019b\pic_1.JPG'FileModDate: '21-Nov-2021 09:04:03'FileSize: 1596315Format: 'jpg'FormatVersion: ''Width: 4032Height: 3024BitDepth: 24ColorType: 'truecolor'FormatSignature: ''NumberOfSamples: 3CodingMethod: 'Huffman'CodingProcess: 'Sequential'Comment: {}Orientation: 1XResolution: 72YResolution: 72ResolutionUnit: 'Inch'YCbCrPositioning: 'Centered'DigitalCamera: [1×1 struct]ExifThumbnail: [1×1 struct]

5.显示图像

函数 imshow ( f, G) 可以显示一幅图像,例如:

>>imshow (f,[low,high]); //[low,high]为灰度等级


三、总结

以上就是今天要讲的内容,本文仅仅简单介绍了数字图像的表示方法。下一节,我们将继续对基于MATLAB的数字图像处理的基本原理进行讲解。


四、参考文献:

1.数字图像处理(第三版)——Rafael C.Gonzalez,Richard E.Woods,Steven L . Eddins; 2.数字图像处理实验指导书——Rafael C.Gonzalez,Richard E.Woods,Steven L . Eddins;

【Matlab】数字图像处理_基本原理_1相关推荐

  1. 【基于matlab数字图像处理GUI代码】_数字图像处理考核论文_大作业_项目

    基于matlab数字图像处理GUI代码 代码: function varargout = Image_processing_GUI(varargin) % IMAGE_PROCESSING_GUI M ...

  2. MATLAB数字图像处理复习概览

    MATLAB数字图像处理 第1章 绪论 数字图像的概念 数字图像处理 第2章 数字图像处理基础 数字图像的生成与表示 数字图像的数值描述 第3章 图像基本运算 图像几何变换 几何变换基础 位置变换 几 ...

  3. 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识

    本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...

  4. matlab fspeical,MATLAB数字图像处理.doc

    MATLAB数字图像处理 MATLAB常用图像操作 转换图像类型 例1.对一幅图像进行二值化处理,代码及结果如下: load trees BW=im2bw(X,map,0.4); imshow(X,m ...

  5. Matlab数字图像处理——图像处理工具箱Image Processing Toolbox

    Image Processing Toolbox 图像处理工具箱包含的功能: 图像的读取和保存 图像的显示 创建GUI 图像的几何变换 图像滤波器设计及线性滤波 形态学图像处理 图像域变换 图像增强 ...

  6. Matlab数字图像处理——图像文件的读取

    文章目录 一.Matlab中获取图像信息的函数 imfinfo 二.Matlab读取图像文件的函数 imread 三.Matlab保存图像文件的函数 imwrite 完整目录 一.Matlab中获取图 ...

  7. matlab数字图像处理课程设计报告,数字图像处理初步-实验1

    MATLAB数字图像处理初步 通过实验对MatLab软件的基本使用基本的了解,学会使用MatLab软件来读取一个特定格式的图像,并通过相关的命令语句对图像进行格式转换.图像压缩.二值化等的处理,掌握利 ...

  8. matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈

    学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...

  9. MATLAB说明图像增强,MATLAB数字图像处理(二)图像增强

    1         图像增强 1.1            直方图均衡化 对于灰度图像,可以使用直方图均衡化的方法使得原图像的灰度直方图修正为均匀的直方图. 代码如下: 1 2 3I2=histeq( ...

  10. MATLAB数字图像处理(一)

    了解MATLAB数字图像处理 MATLAB全称是Matrix Laboratory (矩阵实验室) ,数字图像是以数字方式存储的图像.将图像在空间上离散.量化存储每一个离散位置的信息就可以得到简单的数 ...

最新文章

  1. Learn from mistake, i.e. 和 e.g. 是不同的
  2. python语言自学-python语言系统学习(四)
  3. R语言:expand.grid() 函数解析
  4. lnmp一键包502 Bad Gateway解决方法
  5. 【转贴】爱是莲花,最美的是清苦的莲心
  6. android clipChildren的使用
  7. eclipse中经常用到的快捷键
  8. Windows环境下yolov3+darknet批量处理图片完整教程
  9. 2022年中国CRM行业研究报告
  10. EasyUI中文帮助文档
  11. SpringCloud工作笔记081---SpringCloud Hystrix Turbine(断路器聚合监控)的基本使用
  12. java冒泡怎么写_java 冒泡 又一种写法
  13. Java 读写txt文件 中文乱码问题
  14. NIO-ByteBuffer
  15. 国家自然科学基金申请书写作攻略
  16. 禾川x3e系列_禾川科技:“高性价比”X3E系列伺服系统能否摘得金球奖桂冠?
  17. 《神经网络与深度学习》——邱锡鹏(读书笔记_C2_1)
  18. php+mysql+jquery瀑布流
  19. html关键技术包括,物联网的关键技术包括哪些
  20. 当 SegmentFault 遇上呼伦贝尔

热门文章

  1. c++ 建立MFC应用程序
  2. php ob_get_contents,ob_get_contents();用法【转】
  3. fh 幅频特性曲线怎么画fl_放大电路幅频特性曲线的测试方法.PPT
  4. 郝斌——数据结构笔记(数组、链表、栈、队列)(递归)
  5. 高级Bash脚本编程入门
  6. 视频会议中回声消除与噪音抑制的技巧
  7. 带SN切换流程_贴片电阻生产工艺流程简介
  8. java sort 字符串_java实现6种字符串数组的排序(String array sort)
  9. 基于D-S证据理论的数据融合算法的研究
  10. 【倒计时】用JS写出京东倒计时效果