matlab数字图像处理函数,MATLAB数字图像处理学习(二)|常用函数
以下的学习整理来自《数字图像处理原理与实践(MATLAB版)》
im2bw
功能:将索引图象、灰度图像和RGB彩色图像转换为二值图像 调用形式: >BW = im2bw(I,level) BW = im2bw(X,cmap,level) BW = im2bw(RGB,level)
其中level用于设置阈值。level取值范围[0, 1]。 示例:
edge
功能:功能是采用I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0。采用灰度或一个二值化图像I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0。
调用形式: >BW = edge(I) BW = edge(I,method) BW = edge(I,'sobel')%自动选择阈值用Sobel算子进行边缘检测。 BW = edge(I,method,threshold) BW = edge(I,method,threshold,direction) BW = edge(---,'nothinning') BW = edge(I,method,threshold,sigma) BW = edge(I,method,threshold,h) [BW,threshOut] = edge(---) [BW,threshOut,Gv,Gh] = edge(---)
示例: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23clear;
% 使用imread()函数读取图像
I1=imread('C:\Users\huayang\Desktop\MATLAB photo\测试.png');
I=im2bw(I1);
% 将索引彩色图象转换为灰度图像
bw1=edge(I,'roberts');
bw2=edge(I,'sobel');
bw3=edge(I,'prewitt');
bw4=edge(I,'log');
bw5=edge(I,'canny',[0.032,0.08],1);
figure
subplot(2,3,1),imshow(I);
title('原始图像');
subplot(2,3,2),imshow(bw1);
title('roberts');
subplot(2,3,3),imshow(bw2);
title('sobel');
subplot(2,3,4),imshow(bw3);
title('prewitt');
subplot(2,3,5),imshow(bw4);
title('log');
subplot(2,3,6),imshow(bw5);
title('canny');
strel
功能:构造结构元素(Structuring element)。所谓结构元素,可以看做是一张小图像,它通常用于图像的形态学运算(如膨胀、腐蚀、开运算、闭运算)。 调用形式: >SE = strel(shape, parameters)%根据shape指定的类型创建一个结构元素SE。 SE = strel('ball', R, H, N) SE = strel('diamond', R) SE = strel('disk', R, N) SE = strel('line', LEN, DEG) SE = strel('octagon', R) SE = strel('pair', OFFSET) SE = strel('periodicline', P, V) SE = strel('rectangle', MN) SE = strel('square', W)
示例: 见下一例。
imdilate与imerode
功能:可以使用imdilate函数进行图像膨胀;可以使用imerode函数进行图像腐蚀。 调用形式: >J = imdilate(I,SE) J = imdilate(I,nhood) J = imdilate(---,packopt) J = imdilate(---,shape) J = imerode(I,SE) J = imerode(I,nhood) J = imerode(---,packopt,m) J = imerode(---,shape)
示例: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15clear;
% 使用imread()函数读取图像
I1=imread('C:\Users\huayang\Desktop\MATLAB photo\测试.png');
I=im2bw(I1);
sel1=strel('disk',2);%创建一个指定半径1的平面圆盘形的结构元素
im1=imdilate(I,sel1);
im2=imerode(I,sel1);
subplot(2,2,1),imshow(I1);
title('彩色图像');
subplot(2,2,2),imshow(I);
title('原始图像');
subplot(2,2,3),imshow(im1);
title('图像膨胀');
subplot(2,2,4),imshow(im2);
title('图像腐蚀');
imfill
功能:该函数用于填充图像区域和“空洞”。 调用形式: >BW2 = imfill(BW) 这种格式将一张二值图像显示在屏幕上, 允许用户使用鼠标在图像上点几个点, 这几个点围成的区域即要填充的区域。要以这种交互方式操作, BW必须是一个二维的图像。用户可以通过按Backspace键或者Delete键来取消之前选择的区域;通过shift+鼠标左键单击或者鼠标右键单击或双击可以确定选择区域。 [BW2,locations] = imfill(BW) 这种方式, 将返回用户的取样点索引值。注意这里索引值不是选取样点的坐标。 BW2 = imfill(BW,locations) 这种格式允许用户编程时指定选取样点的索引。locations是个多维数组时, 数组每一行指定一个区域。 BW2 = imfill(BW,'holes') 填充二值图像中的空洞区域。 如, 黑色的背景上有个白色的圆圈。 则这个圆圈内区域将被填充。 I2 = imfill(I) 这种调用格式将填充灰度图像中所有的空洞区域。
示例: 1
2
3
4
5
6
7
8
9clear;
% 使用imread()函数读取图像
I1=imread('C:\Users\huayang\Desktop\MATLAB photo\测试.png');
I=im2bw(I1);
im3=imfill(I,'hole');
subplot(1,2,1),imshow(I);
title('原始图像');
subplot(1,2,2),imshow(im3);
title('图像填充');
bwareaopen
功能:删除二值图像BW中小面积对象,默认情况下使用8邻域。 调用形式: >BW2 = bwareaopen(BW,P) BW2 = bwareaopen(BW,P,conn)
示例: 1
2
3
4
5
6
7
8
9clear;
% 使用imread()函数读取图像
I1=imread('C:\Users\huayang\Desktop\MATLAB photo\测试.png');
I=im2bw(I1);
im1=bwareaopen(I,1200);
subplot(1,2,1),imshow(I);
title('原始图像');
subplot(1,2,2),imshow(im1);
title('删除对象');
关于matlab函数_连通区域得详解,可参考matlab函数bwareaopen的详解 关于matlab图像处理的更多知识,可参考形态学图像处理 最后,再奉上一个表情包用于测试:
23333
matlab数字图像处理函数,MATLAB数字图像处理学习(二)|常用函数相关推荐
- Excel随机数字/随机字母/随机日期/随机姓名等常用函数
Excel随机数字/随机字母/随机日期/随机姓名等常用函数 随机选取选项中字符 随机数字 随机字母 随机日期/时间 随机姓名 温馨提醒 插播一个神奇命令 随机选取选项中字符 =CHOOSE(RANDB ...
- 第4章 Python 数字图像处理(DIP) - 频率域滤波5 - 二变量函数的傅里叶变换、图像中的混叠、二维离散傅里叶变换及其反变换
目录 二变量函数的傅里叶变换 二维冲激及其取样性质 二维连续傅里叶变换对 二维取样和二维取样定理 图像中的混叠 二维离散傅里叶变换及其反变换 二变量函数的傅里叶变换 二维冲激及其取样性质 两个连续变量 ...
- MATLAB科学绘图-MATLAB画图技巧与实例(一):常用函数
Matlab拥有强大的绘图功能,内置了很多绘图函数,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数. 此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作.这类操作将图形的 ...
- 【Python学习】常用函数(更新中……)
系列文章目录 目录 系列文章目录 普通函数 一.输入输出函数 1. print()函数 2. input()函数 二.进制转换函数 1. bin(),oct(),hex()进制转换函数(带前缀) 2. ...
- python中setup函数的用法_python学习之setUp函数和tearDown函数
1,setUp():就是在一个类中最先被调用的函数,每次执行一个函数都要先执行这个函数,有几个函数就被调用几次,与放的位置无关,随便放到哪里都会先执行这个函数 2,tearDown():就是在一个类中 ...
- python巩固函数和模块_Python学习教程6:函数,模块和类的使用
Python函数 定义 函数是组织好的,可重复利用的,用来实现单一,或相关联功能的代码片段. 函数能提高应用的模块行,使代码逻辑更加的条理清晰. 内建函数 内建函数是Python中自带的,可供用户重复 ...
- [转载] python函数分为哪几种_python常用函数
参考链接: Python中的等分算法函数bisect Python常用函数 python中函数以两种形式呈现:一是可以自己定义的函数function,比如最常用的print()函数:另外一种是作为类的 ...
- mysql数据库 常用函数_《MySQL数据库》常用函数整理
原标题:<MySQL数据库>常用函数整理 以下内容,是我整理出来的比较常用的字符串函数,数值函数,日期函数. 第一类:字符串函数 1.conv(n,from_base,to_base):对 ...
- java 常用 函数_java在线报表中有哪些常用函数
1 SUM SUM(number1,number2,-):求一个指定单元格区域中所有数字之和.Number1,number2,-:1到30个参数或指定单元格区域中所有数字. 备注: 函数将直接键入参数 ...
- oracle stdevp函数,SQL Server和Oracle的常用函数对比
---------数学函数 1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling ...
最新文章
- Linux下备份系统
- XXX管理平台系统——会议管理
- Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
- apk转换ipa在线转换工具_PDF 格式转换在线网站
- mysql 修改root 密码
- 查看openssh版本_新版的Reveal如何查看越狱手机APP
- python绘制气象等值线图_利用Python插值绘制等值线图
- python软件_Python软件的下载与安装
- 进一步优化SPA的首屏打开速度(模块化与懒载入) by 嗡
- 文件服务器 测试,python-文件服务器测试
- 网络中把提供服务的计算机称为,网络第三套试题
- java ee 酒店管理系统,基于jsp的小型酒店管理系统-JavaEE实现小型酒店管理系统 - java项目源码...
- FPGA入门必备学习网站和工具
- 《OpenCV3编程入门》毛星云编著
- 思科vrrp实例_VRRP配置及多备份VRRP配置实例
- SQL Server 2008 Service Pack 1 - CTP 发布
- Part 2 如何进行埋点(内附埋点文档模板)
- JavaScript实现经典消方块游戏
- 20个高级java开发面试题(带答案)
- html 用户名限制,js对输入用户名的限制