matlab数字图像处理函数,MATLAB数字图像处理学习(二)|常用函数

以下的学习整理来自《数字图像处理原理与实践(MATLAB版)》

im2bw

功能:将索引图象、灰度图像和RGB彩色图像转换为二值图像 调用形式: >BW = im2bw(I,level) BW = im2bw(X,cmap,level) BW = im2bw(RGB,level)

其中level用于设置阈值。level取值范围[0, 1]。 示例:

b530e8d68e3529cc793255a82eee6887.png

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');

b9a51c010e43c806a708aed61123c8cc.png

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('图像腐蚀');

a771c244aaf8422dbc16ad500e923bc5.png

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('图像填充');

c077af9be0463e75e4c3d3f268c8ca7b.png

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('删除对象');

b8864768f339d5d7f6d1c1dbd8237b9b.png

关于matlab函数_连通区域得详解,可参考matlab函数bwareaopen的详解 关于matlab图像处理的更多知识,可参考形态学图像处理 最后,再奉上一个表情包用于测试:

0726cb1f7d878823490edb922e01d717.png23333

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 实现 model层,Thinkhphp5控制器调用的Model层的方法总结

控制器器里:/*** Created by PhpStorm.* User: Haima* Date: 2018/7/8* Time: 15:58*/namespace app\api\controller\v1;use app\api\model\Banner as BannerModel;use app\api\validate\IDMustBePostiveInt;use app\lib\exception\BannerMissException;class Banner{/*** 获取…

matlab fminimax 例子,Matlab应用实例(8)—fminimax

说明:fminimax用来求最小的最大值,比如城市建设消防站点时,考虑到最主要的因素是到最远的地方的用时(可换算为距离)最小,比如A方案到6个区域的用时为(1,1,1,1,1,12)&…

php://filter利用条件,浅谈php://filter技巧

php://filterphp://filter可以作为一个中间流来处理其他流,具有四个参数:名称描述备注resource指定了你要筛选过滤的数据流必选read可以设定一个或多个过滤器名称,以管道符(|)分隔。可选write可以设定一个或多个过滤器名称,以管道符(|)分隔。…

mplayer-php,mplayer+smplayer 前后端播放器安装

环境:f8模式:mplayer做后端,smplayer做前端说明:如果是自己编译mplayer,后面所讲到的codecs路径就可能发生变化,做适当修改即可!以下省略一些解压缩之类的操作步骤!安装livna.org的第…

Elasticsearch的分片平衡问题解决

2023年11月份在某电商系统生产中的Elasticsearch(以下简称ES)集群突然,出现了大量慢查询告警,导致请求堆积。经过几天的排查发现了ES节点主分片和副本分片分布存在不均匀的问题。当然了暂未有定论是由于分片不均衡导致了性能下降&…

linux卸载nomachine,NoMachine 安装与配置及使用

对Linux管理员们来说,远程办公不是什么新鲜事。如果管理员不在服务器跟前,远程办公更是家常便饭。一般而言,图形用户界面(GUI)默认情况下并不安装在Linux服务器上。但是可能有一些Linux管理员还是决定将GUI安装在Linux服务器上。如果你的服务…

linux yum 安装widget,CentOS 7安装Qt5.12.1过程

默认下载在Downloads目录下预安装sudo yum -y install mesa-libGL-devel mesa-libGLU-devel freeglut-devel给下载的文件赋予可执行的权限chmod x qt-opensource-linux-x64-5.12.1.run执行文件,进行安装./qt-opensource-linux-x64-5.12.1.run接下来会进行界面化的安…

usb otg vnc linux,20131126版本后,可以从PC通过USB-OTG VNC到pcDuino

为什么80%的码农都做不了架构师?>>>有些玩家购买pcDuino到手后发现自己没有显示器,没有鼠标键盘,有的只有手机的充电器和数据线。pcDuino开发者了解到粉丝们的郁闷之后,在软件上帮忙大家解决了这个问题。下面就给大家介绍…

linux 镜像错误,VituralBox 使用已有镜像文件报错:E_INVALIDARG (0x80070057)

VituralBox 使用已有镜像文件报错:E_INVALIDARG (0x80070057):问题描述:UUID已经存在Cannot register the hard disk E:\system_iso\CentOS6.8.vdi {05f096aa-67fc-4191-983d-1ed00fc6cce9}because a hard disk E:\system_iso\centos68_02\centos6.8.vdi…

c语言中123 234 345 456,如何在C中将数字从1123456789格式化为1,123,456,789?

宝慕林4294392您可以按以下方式递归执行此操作(请注意&#xff0c;INT_MIN如果使用二进制补码&#xff0c;则需要额外的代码来管理它)&#xff1a;void printfcomma2 (int n) { if (n < 1000) { printf ("%d", n); return; } printfcomma2…

dos c语言显示符号图案,在DOS命令行窗口中显示出用各种字符拼凑出来的各种图案的实现方法,如本人头像...

注&#xff1a;文中例子是本人刚学C编程语言的时候制作的&#xff0c;实现方法很简单&#xff0c;主要使用for循环语句&#xff0c;无需什么复杂烧脑的算法。由于经常看到各种符号拼成的图案&#xff0c;感觉很有意思&#xff0c;所以自己也弄了个&#xff0c;纯属好玩。(作品-…

android自定义圆圈动画,自定义view实现动画数字圆圈

我们要实现的是如下的效果&#xff0c;1.该view在设置属性之后时候会有数字和圆圈不断增长的效果2.该view在按下和放开状态下显示不同的样式。这种效果逻辑上并不复杂&#xff0c;底层灰色圆圈和蓝色扇形圆圈都是用canvas.drawArc()绘制出来的&#xff0c;中间的数字用drawtext…

android+水滴粘性动画,Android控件实现水滴效果

看到ios版上QQ刷新效果像水滴&#xff0c;然后自己也想着去实现这样的效果&#xff0c;这篇文章暂时没有介绍下拉刷新的效果&#xff0c;只是单独用一个控件来实现这样的水滴效果。效果图如下&#xff1a;一、总体思路1、画两个圆形&#xff0c;其中一个就是上面的大圆&#xf…

第一台鸿蒙手机是,第一台预装鸿蒙OS的手机终于登场。

原标题&#xff1a;第一台预装鸿蒙OS的手机终于登场。千呼万唤始出来&#xff0c;之前大家期待了很久的鸿蒙OS它终于真正到来了。据工业和信息化部公布的消息&#xff0c;搭载鸿蒙OS的新款华为手机正式入网了&#xff0c;这也将是华为第一台预装鸿蒙OS的新款手机。但令人完全没…

html跳转网页为什么网页无法访问,朋友的网站被网址跳转,导致官网无法正常访问...

原标题&#xff1a;朋友的网站被网址跳转&#xff0c;导致官网无法正常访问昨天中午接到客户的一个电话&#xff0c;告知其某个网站打开之后直接跳转到其他的网站。客户的这个网站&#xff0c;不是我们做的&#xff0c;但是关系一直保持的不错&#xff0c;所以就顺带给他解决一…

2021中卫一中高考成绩查询,2021年宁夏高中排名及分数线 高考本科升学率排行榜...

2019年宁夏高中排名及分数线 高考本科升学率排行榜如何判断一所高中学校的优劣好坏&#xff0c;人们往往从这几个方面来看&#xff1a;高考/竞赛成绩、生源质量、师资力量、软硬件设施、管理水平等。高考成绩因为最直接&#xff0c;最广为关注&#xff0c;但是很多时候未免有失…

微观经济学如何计算机会成本,【微观经济学】机会成本

概念&#xff1a;机会成本机会成本是指你做了某项选择&#xff0c;而不得不因此失去的其他利益。比如你选择了A&#xff0c;就必须放弃B&#xff0c;B就是A的机会成本。对企业来说&#xff0c;最优方案的机会成本&#xff0c;就是次优方案可能带来的收益。机会成本是听起来很简…

计算机网络技术俄罗斯方块,《The Tetris Effect》:这本新书讲述了俄罗斯方块的传奇故事...

原标题&#xff1a;《The Tetris Effect》:这本新书讲述了俄罗斯方块的传奇故事在游戏发展史上&#xff0c;俄罗斯方块是个传奇。没有一款游戏像它一样影响深远&#xff0c;受到全球不同人的喜爱。在即将出版的《The Tetris Effect》(俄罗斯方块效应)中&#xff0c;科技记者 Da…

计算机主机响是什么原因,电脑主机发出不同的响声及解决措施

电脑在使用一段时间后&#xff0c;难免都会遇到些小问题。如很多朋友使用的台式电脑&#xff0c;在开机的时候&#xff0c;主机就会发出很大的响声。其实当主机发出不同响声时&#xff0c;就代表着不同的故障&#xff0c;我们可以根据相应的响声来找出故障的所在。今天U大侠小编…

计算机上的键有什么功能吗,电脑功能键都有什么用,电脑上功能键的用法_系统圣地...

电脑大家都使用了不少年了&#xff0c;但是对于键盘最上方的F1到F12的功能都是什么&#xff0c;相信不少小伙伴都一知半解吧&#xff0c;毕竟平时使用的比较少&#xff0c;但是在某些情况下&#xff0c;这些功能键能够有效的提升你的做事效率&#xff0c;所以了解一下还是不错的…