【Matlab图像处理知识点合集】新手入门第二十一天
图像处理
- 前言
- 1.查看图像文件信息
- 2.显示图像
- 2.1默认显示方式
- 2.2添加颜色条
- 2.3显示多帧图像
- 2.4 显示动画
- 2.5 三维材质图像
- 3.图像的灰度变换
- 3.1 图像的直方图
- 3.2 灰度变换
- 3.3 均衡直方图
- 4.图像处理工具箱的应用
- 4.1道路图像阈值分割问题
- 4.2基于遗传神经网络的图像分割
- 总结
前言
MATLAB图像处理工具箱提供了一套全方位的图形工具。可以进行图像增强、图像去模糊、特征检测等。
1.查看图像文件信息
在MATLAB中用户可以利用命令imfinfo就可以查看图像文件的信息。命令imfinfo的主要格式如下:
INFO = IMFINFO(FILENAME,FMT)
其中参数FILENAME 表示图像文件名称,FMT表示图像文件的格式。也可以直接使用命令imfinfo(filename)返回图像文件的信息,如文件名、格式、大小、宽度、高度等。
2.显示图像
在实际应用中,用户可能需要显示各种不同的图像效果。MATLAB的图像处理工具箱提供了多种常见的命令,下面将介绍几种常用的函数使用方法。
2.1默认显示方式
在MATLAB中,显示图像最常用的命令是imshow。在用户使用MATLAB的过程中,其实已经接触过其他显示图像的方法。但是,imshow相对于其他的图像命令,有下面几个特点:
自动设置图像的轴和标签属性。imshow程序代码会根据图像的特点,自动选择是否显示轴,或者是否显示标签属性。
自动设置是否显示图像的边框。程序代码会根据图像的属性,来自动选择是否显示图像的边框。
自动调用truesize代码程序,决定是否进行插值。
imshow命令的常见调用格式如下:
IMSHOW(X,MAP)显示图像X,使用MAP颜色矩阵。
H = IMSHOW(…)显示图像X,并将图像X的句柄返回给变量H
2.2添加颜色条
GUI可以给图像添加颜色条控件,从而通过颜色条来判断图像中的数据数值。在图像处理工具箱中,同样可以在图像中加入颜色条。
2.3显示多帧图像
对于多帧图像,常见的有下面几种显示方式:
- 在一个窗体中显示所有帧。
- 显示其中单独的某帧。
2.4 显示动画
从理论上讲,动画就是快速显示的多帧图像。在MATLAB中,可以使用movie命令来显示动画。movie命令从多帧图像中创建动画,但是这个命令只能处理索引图,如果处理的图像不是索引图,必须首先将图像格式转换为索引图。
2.5 三维材质图像
前面已经介绍过如何在MATLAB中显示二维图像,同样地,在MATLAB中也可以显示“三维”图像。这种三维图像是指在三维图的表面显示二维图像。所涉及的MATLAB命令是warp。warp函数的功能是显示材质图像,使用的技术是线性插值。其常用的命令格式如下:
3.图像的灰度变换
在常见的图像处理中,除了图像的几何外观变化之外,还可以修改图像的灰度。灰度变换是一种像素到像素的图像处理方法,也称为点处理(Block Operation)。
灰度变换完全由灰度变换函数GST确定,灰度变换函数GST描述了输入灰度值与输出灰度值之间的映射关系。
3.1 图像的直方图
在MATLAB中,可以对RGB图、灰度图和二值图进行灰度转换。同时,可以在MATLAB 中获取不同类型图像的直方图。其中,灰度图和二值图的直方图表示不同
在MATLAB 图像处理工具箱中,可以使用imhist函数得到灰度图、二值图或者索引图的直方图,其调用格式为:
imhist(I)
imhist(I,n)
imhist(X,map)
在以上调用格式中,参数I表示灰度图或二值图,n为直方图的柱数。X表示索引图,map为对应的Colormap。在调用格式imhist(I,n)中,当n未指定时,n根据I的不同类型取256(灰度图)或2(二值图)。下面用具体的例子来分析如何在MATLAB中分析图像的直方图信息。
3.2 灰度变换
在图像处理中,灰度变换的主要功能是改变图像的对比度。在MATLAB 图像处理工具箱中,实现该功能的函数是imadjust。对于灰度图,主要通过调整其对应的色图来实现;对RGB 图,灰度调整是通过对R、G、B三个通道的灰度级别调整实现。
函数imadjust的一般调用格式为:
J = imadjust(I)
J = imadjust(I,[low high],[bottom top])
J = imadjust(…,gamma)
newmap = imadjust(map, [low high],[bottom top],gamma)
RGB2 = imadjust(RGB1,…)
其中参数I、J表示灰度图,参数map、newmap 为索引图的色图,RGB1、RGB2 为RG图。
3.3 均衡直方图
均衡直方图是指根据图像的直方图自动给出灰度变换函数,使得调整后图像的直方图能尽可能地接近预先定义的直方图。在MATLAB中可以利用函数histeq对灰度图和索引图做直方图均衡。
histeq函数的调用格式如下:
J = histeq(I,hgram)
J = histeq(I,n)
J = histeq(I)
[J,T] = histeq(I,…)
newmap = histeq(X,map,hgram)
newmap = histeq(X,map)
[newmap,T] = histeq(X,…)
4.图像处理工具箱的应用
MATLAB是一种功能非常强大的数学工具软件,尤其是表现在对矩阵的运算以及绘制图像方面。MATLAB中有专门的用于图像分析的工具箱函数。利用这些函数,可以方便地对图像进行检测和分割。
4.1道路图像阈值分割问题
图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。
阈值分割法的特点是:适用于目标与背景灰度有较强对比的情况,重要的是背景或物体的灰度比较单一,而且总可以得到封闭且连通区域的边界。
4.2基于遗传神经网络的图像分割
遗传算法可用于分析神经网络。神经网络由于有分布存储等特点,一般难以从其拓扑结构直接理解其功能。遗传算法可对神经网络进行功能分析,性质分析,状态分析。
遗传算法与神经网络结合,可以用于图像分割,下面举例说明遗传神经网络应用于图像分割。
总结
以上就是今天学习的内容,加油!
【Matlab图像处理知识点合集】新手入门第二十一天相关推荐
- 【Matlab数理统计知识点合集】新手入门第十三天
数理统计 学习目标 1.随机数的产生 1.1二项分布随机数 1.2 泊松分布随机数 1.3 均匀分布随机数 1.4 正态分布随机数 1.5 其他常见分布随机数 2.概率密度函数 2.1 常见分布的密度 ...
- 【Matlab优化知识点合集】新手入门第十二天
MATLAB优化 学习目标 1. 常见优化问题 1.1无约束非线性优化 1.2有约束规划 1.3 目标规划 1.4 最大最小化问题 1.5 线性规划 1.6 二次规划 1.7多目标规划 1.8非线性方 ...
- 【Matlab程序设计知识点合集】新手入门第十五天
MATLAB程序设计 前言 1.MATLAB的程序结构 1.1 if分支结构 1.2 switch分支结构 1.3 while循环结构 1.4 for循环结构 2.MATLAB的控制语句 2.1 co ...
- 【Matlab经典智能算法】新手入门第十六天
经典智能算法 前言 1.免疫算法的MATLAB实现 1.1基本原理 1.2程序设计 1.3经典应用 2.小波分析算法的MATLAB实现 2.1基本原理 2.2程序设计 2.3经典应用 3.PID控制器 ...
- 【Matlab之Simulink基础】新手入门第十九天
Simulink基础 学习目标 1.基本介绍 1.2 模块库介绍 1.3 Simulink仿真基本步骤 2.模块操作 2.1Simulink模块类型 2.2自动连接模块 2.3手动连接模块 2.4 设 ...
- 打开程序时固定位置_新手入门第五课:免费开源图像处理程序GIMP之矩形选择工具...
GIMP是一款图像处理软件,是跟Photoshop同一类型的软件,为了方便介绍,后面每篇相关GIMP图像处理软件的介绍文章的开头,我都将插入一段文字,用于介绍GIMP是什么,让不熟悉的朋友知道这是干什 ...
- JVM面试知识点合集 — Android 春招 2022
JVM面试知识点合集 - Android 春招 2022 星光不问赶路人,时间不负有心人 Tips:文章较长,可以在侧栏目点击子标题,快速跳转 喜欢的话,就一键三连吧
- 全国计算机二级office选择题知识点,全国计算机二级考试MS office选择题知识点合集(通用)...
全国计算机二级考试MS office选择题知识点合集(通用) 计算机二级选择题考点总结 2014年计算机二级 office高级应用考试基础知识 计算机的发展.类型及其应用领域. 1.计算机 (comp ...
- matlab绿色版本合集
网上找的matlab绿色版本合集链接https://pan.baidu.com/s/1gfDyIo7 密码:pxrs 转载于:https://www.cnblogs.com/babyfei/p ...
最新文章
- TPYBoard自制微信远程智能温湿度计
- 几十万实例线上系统的抖动问题定位
- 160 - 35 cupofcoffe.1
- springboot接收json参数_Springboot + Vue + shiro 实现前后端分离、权限控制
- LeetCode——maximal-rectangle
- yolo系列外文翻译_测评:英文文献、论文的翻译软件对比
- 实战JavaScript:实现像素鸟小游戏
- char 数组和 int 之间转化
- 8848Android 版本,【8848钛金手机M5评测】拍照配置保持Android阵容顶配堆积_8848 钛金手机M5_手机评测-中关村在线...
- KDD China技术峰会回顾:大牛云集,教你如何基于大数据 手握人工智能未来
- 数理统计 —— 总体、样本、统计量及其分布
- iar arm 6.4 破解
- 4家运营商、17家通信企业这样回应5G牌照发放
- 【解决】gnglia报错:Can‘t open PID file /usr/local/ganglia/var/run/gmetad.pid (yet?)
- Mac上安装VisualVM
- 上海之旅,再让键盘长几天草
- A-level Computer Science 计算机科学学习笔记/经验分享/教学 (1):考试流程和大纲
- uniapp 富文本编辑器
- html中的空格怎么写,html中空格代码是什么?(总结)
- 云扩RPA研习社 | 解析流程开发主要步骤
热门文章
- python 的 Thread.join方法
- 毕业设计 嵌入式 STM32自动泊车系统 - 智能小车 自动停车
- opencv-python教程学习系列8-opencv图像算术运算
- Dubbo的容错机制原理
- 一个绿色版本的LAMP包. (快速构建linux下的php开发环境)
- IDEA代码提示忽略大小写
- 用C++来设计开发的基于boost文档的站内搜索引擎项目,点赞收藏起来!
- VMware 虚拟机实现硬盘扩容自由 无需格式化
- nodejs获取与设置cookie
- 【ubuntu(Linux)安装Vs code并配置c++编译及cmake多文件编译】