形态学图像分割matlab算法,图像分割和形态学处理与MATLAB实现

《图像分割和形态学处理与MATLAB实现》由会员分享,可在线阅读,更多相关《图像分割和形态学处理与MATLAB实现(13页珍藏版)》请在人人文库网上搜索。

1、实验 图像分割和形态学处理一、实验目的1、 掌握图像分割的基本方法。2、 掌握形态学处理的基本方法。3、 学会使用MATLAB编程实现上述方法。二、实验任务(1)编程实现基于阈值的图像分割方法和边缘检测方法。(2)编程实现膨胀、腐蚀方法。 (3)编程实现开运算和闭运算的方法。(4)编程实现提取骨架和细化的方法。三、实验配套的主要仪器设备及台(套)数教师示范用投影仪一台微型计算机每个学生一台四、报告要求记录每一步的实验过程。五、实验记录5.1阈值图像分割方法1点检测5.1.1程序clcclear data = imread(lianzipoint.jpg);w = -1 -1 -1; -1 8 。

2、-1; -1 -1 -1g =abs(imfilter(double(data),w);t =max(g(:);g1=(g=t);m n=find(g1)figureimshow(data)hold onplot(n,m,ro) g1=(g=t-200);m n=find(g1)figureimshow(data)hold onplot(n,m,ro) g1=(g=t-800);m n=find(g1)figureimshow(data)hold onplot(n,m,ro)5.1.2 效果分析:随着阈值的减小,所检测出的点越来越多5.2 阈值分割方法2线检测5.2.1程序clcclearda。

3、ta = imread(xian.jpg);subplot(221),imshow(data);title(检测指定方向线的原始图像);w = 2 -1 -1; -1 2 -1; -1 -1 2;g =abs(imfilter(double(data),w);subplot(222),imshow(g,)title(使用-45度检测器处理后的图像);gtop = g(1:40,1:40);gtop = pixeldup(gtop,4);%piceldup函数是将图片放大相应倍数subplot(223),imshow(gtop,)title(-45度检测后左上角放大图);gbot = g(end。

4、-40:end,end-40:end);gbot = pixeldup(gbot,4);subplot(224),imshow(gbot,)title(-45度检测后右下角后放大图);5.2.2 处理效果分析:-45度方向上的直线,经过处理后效果明显,其他方向上的线比较模糊。5.3 阈值分割方法3边缘检测5.3.1程序clc clear f=imread(bianyuan.jpg); f= rgb2gray(f);subplot(321),imshow(f);title(sobel检测的原始图像); gv,t=edge(f,sobel,vertical);%斜线因为具有垂直分量,所以也能够被检。

5、测出来 subplot(322),imshow(gv); title(sobel垂直方向检测后图像); gv=edge(f,sobel,0.15,vertical); subplot(323),imshow(gv); title(sobel垂直检测0.15阈值后图像); gboth=edge(f,sobel,0.15); subplot(324),imshow(gboth); title(sobel水平垂直方向阈值0.15后图像); w45=-2 -1 0 86 -1 0 1 87 0 1 2;g45=imfilter(double(f),w45,replicate); T=0.3*max(a。

6、bs(g45(:); g45=g45=T; subplot(325),imshow(g45); title(sobel正45度方向上检测图);w_45=0 -1 -2 95 1 0 -1 96 2 1 0; g_45=imfilter(double(f),w_45,replicate); T=0.3*max(abs(g_45(:);g_45=g_45=T;subplot(326),imshow(g_45);title(sobel负45度方向上检测图);5.3.2 效果5.3.2 边缘检测器的比较5.3.2.1 程序clcclearf=imread(dalouj.jpg);imshow(f)g_。

7、sobel_default , ts = edge(f,sobel);imshow(g_sobel_default);title(g sobel default);g_log_default,tlog=edge(f,log);figureimshow(g_log_default);title(g log default);g_canny_default,tc=edge(f,canny);figure,imshow(g_canny_default);title(g canny default);g_sobel_best=edge(f,sobel,0.25);figure,imshow(g_sob。

8、el_best);title(g sobel best);g_log_best=edge(f,log,0.003,2.25);figure,imshow(g_log_best);title(g log best);g_canny_best=edge(f,canny,0.04 0.10,1.5);figure,imshow(g_canny_best);title(g canny best);5.3.2.1 效果5.2 编程实现膨胀和腐蚀5.2.1 膨胀5.2.1.1程序clc clearA1=imread(beitie.jpg); A1 =im2bw(A1); B=1 1 1 1 1 1 1 1。

9、 1 1 1 11 1 1 1; A2=imdilate(A1,B);%图像A1被结构元素B膨胀 A3=imdilate(A2,B); A4=imdilate(A3,B); figure,imshow(A1); title(imdilate膨胀原始图像); figure,imshow(A2);title(使用B后1次膨胀后的图像); figure,imshow(A3); title(使用B后2次膨胀后的图像); figure,imshow(A4); title(使用B后3次膨胀后的图像);5.2.1.2 效果5.2.2 腐蚀5.2.2.1 程序clc clear A1=imread(xian.。

10、jpg); A1 =im2bw(A1); figure,imshow(A1); title(原始图像); se1=strel(disk,2); A2=imerode(A1,se1); figure,imshow(A2); title(用disk(2)腐蚀后的图像); se2=strel(disk,4); A3=imerode(A1,se2); figure,imshow(A3); title(用disk(4)腐蚀后的图像); se3=strel(disk,6); A4=imerode(A1,se3); figure,imshow(A4); title(用disk(6)腐蚀后的图像); 5.2.。

11、2.2 效果5.3编程实现开运算和闭运算5.3.1开运算5.3.1.1程序clc clear f=imread(beitie.jpg);f =im2bw(f); %se=strel(square,5);%方型结构元素 se=strel(disk,5);%圆盘型结构元素 imshow(f);%原图像 title(运算原始图像)fo=imopen(f,se);figureimshow(fo); title(直接开运算);5.3.1.2 效果5.3.2 闭运算5.3.2.1 程序clc clear f=imread(beitie.jpg);f =im2bw(f); figureimshow(f);%。

12、原图像 title(原始图像); se=strel(disk,5);%圆盘型结构元素 fc=imclose(f,se);%直接闭运算 figure,imshow(fc);title(直接闭运算); foc=imclose(fc,se);%先开后闭运算 figure,imshow(foc); title(先开后闭运算); fco=imopen(fc,se);%先闭后开运算 figure,imshow(fco); title(先闭后开运算);5.3.2.2 效果5.4 编程实现提取骨架和细化5.4.1 提取骨架5.4.1.1 程序clcclearf=imread(guge.jpg);f =im2b。

13、w(f); figure,imshow(f);title(骨架提取原图);g1=bwmorph(f,skel,1);figure,imshow(g1);title(骨架提取1次);g2=bwmorph(f,skel,5);figure,imshow(g2);title(骨架提取5次);g3=bwmorph(f,skel,20);figure,imshow(g3);title(骨架提取20次);g4=bwmorph(f,skel,Inf);figure,imshow(g4);title(骨架提取无穷大次);for k=1:5g3=g3&endpoints(g3);endfigure,imshow(g3);title(骨架提取并消除毛刺);5.4.1.2效果5.4.2 细化5.4.2.1 程序f=imread(zhiwen.jpg);f =im2bw(f); f=f;figure,imshow(f);title(指纹细化原图);g1=bwmorph(f,thin,1);figure,imshow(g1);title(指纹细化1次);g2=bwmorph(f,thin,5);figure,imshow(g2);title(指纹细化5次);g3=bwmorph(f,thin,Inf);figure,imshow(g3);title(指纹细化无穷大次);5.4.2.2 效果。

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

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

相关文章

php 显示状态,php-fpm status状态配置显示

系统为ubuntu,在usr/etc/sites-enabled/中编辑nginx配置文件server_name demo.com;location ~^/status$ {#auth_basic "status page";#fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;include fastcgi_params;fastcgi_pass unix:/var/…

matlab 动态目录调用程序集,C#中如何动态添加程序集查找目录

C#中如何动态添加程序集查找目录情况如下:现有三个程序集Main.exe, One.dll, Two.dll。其中One.dll引用了Two.dll, 并且One.dll与Two.dll部署在一起, 而Main.exe单独部署。在One.dll中有using Two;namespace One{public SomeType{public void DoSomethin…

matlab 红黑强度图片,matlab图形锐化程序

满意答案gveial5852013.10.31采纳率:50% 等级:12已帮助:11498人help imreadhelp fspecial imfilt帮助稳定中有较多的示例fspecial 函数功能:产生预定义滤波器格式:Hfspecial(type)Hfspecial(gaussian,n,sigma) 高斯…

php chr 乱码,php chr() ord()中文截取乱码问题解决方法_PHP教程

复制代码 代码如下:/* 另一种方法&#xff0c;使用ord()函数&#xff1a; 适用于 gb2312 编码:*/$str "怎么将新闻的很长的标题只显示前面一些字&#xff0c;后面用.....来代替&#xff1f;";function gb2312_substr($str, $limit) {$restr ;for($i0;$i< $limit-…

matlab int8 函数,未定义与 'uint8' 类型的输入参数相对应的函数 'fitnessty'

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼程序如下&#xff1a;clear allclcticpopsize15;lanti10;maxgen50;cross_rate0.4;mutation_rate0.1;a00.7;zpopsize5;bestf0;nf0;number0;Iimread(C:\Users\Yu\Pictures\feiji.jpg);if numel(I)>2Irgb2gray(I);end[m,n]size(I);…

php_os用法,golang中os包用法

os包中实现了平台无关的接口&#xff0c;设计向Unix风格&#xff0c;但是错误处理是go风格&#xff0c;当os包使用时&#xff0c;如果失败之后返回错误类型而不是错误数量&#xff0e;os包中函数设计方式和Unix类似&#xff0c;下面来看一下&#xff0e;func Chdir(dir string)…

python n个人围成一圈,Python练习代码实例69-有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的...

Python 练习实例69题目&#xff1a;有n个人围成一圈&#xff0c;顺序排号。从第一个人开始报数(从1到3报数)&#xff0c;凡报到3的人退出圈子&#xff0c;问最后留下的是原来第几号的那位。程序分析&#xff1a;无。程序源代码&#xff1a;#!/usr/bin/python# -*- coding: UTF-…

php基础学哪些,榆林学习php需要哪些基础(PHP是什么)

榆林学习php需要哪些基础&#xff0c;想多学一门知识&#xff0c;陕西PHP培训对我们都是大有裨益的&#xff0c;紧接着就去了解下php代码运行方式有哪些&#xff0c;php常用框架有哪些&#xff0c;php为啥遭到它行鄙视&#xff0c;PHP是什么&#xff0c;php的性质有哪些&#x…

.deploy 文件 php,关于php:Heroku deploy自动删除服务器文件?

我是HEROKU APPS的新手。在我的heroku应用程序中&#xff0c;我遇到了问题。 那就是我正在使用php脚本将数据保存在服务器上。范例&#xff1a;$file "example.txt";$data "Something...";file_put_contents($file,$data);?>此PHP脚本成功运行并完美保…

php打印中文前一天时间,【多选题】用PHP打印出前一天的时间格式是2012-4-2 12:28:21( ) A. date(\Y-m-d H:i:s\, strtotime(\-1 day\...

【多选题】用PHP打印出前一天的时间格式是2012-4-2 12:28:21( )A. date(\"Y-m-d H:i:s\", strtotime(\"-1 day\",time())) B. date更多相关问题不计饱和时&#xff0c;电枢反应电势可以写成负的电抗压降形式。()某矩形见面简支梁&#xff0c;混凝土强度等级…

oracle11g memory_target,Oracle11g启动报:ORA-00845: MEMORY_TARGET not supported on this system

SQL> startupORA-00845: MEMORY_TARGET not supported on this systemoraclesles11:/oracle/product/11.2.4/dbs> df -h /dev/shmFilesystem Size Used Avail Use% Mounted ontmpfs 1.5G 72K 1.5G 1% /dev/shm--memory_target 大于 /dev/shmoracles…

oracle 11gr2 asm安装,OEL6.1下oracle 11gr2 ASM安装

oracle 11gr2下asm与以往不同&#xff0c;是使用grid安装包来完成安装与配置&#xff0c;在11.2.0.3的安装包中&#xff0c;使用第三个安装包&#xff0c;解压以后进行以下配置&#xff1a;1. Asm相关用户及组配置/usr/sbin/groupadd -g 502 oper/usr/sbin/groupadd -g 600 asm…

oracle11g中用asmlib配置磁盘组,ASM学习笔记_配置ASMLIB磁盘组

ASM学习笔记_配置ASMLIB磁盘组目录1 ASMLIB Introduction2 虚拟机添加一个共享磁盘(块设备)3 下载,安装ASMLIB4 配置,使用ASMLib 磁盘组#######################################################################1 ASMLIB Introduction######################################…

oracle 12配置安全与更新,Oracle 12c 数据库安全核心技术讨论

Oracle AdvancedSecurity新功能 >Oracle Data RedactionOracle Data Redaction对应用户权限的实时访问控制根据用户的权限以及客户端信息&#xff0c;Redaction实时数据修正应用代码代表在不必要的数据库中完成列访问的控制根据客服中心以及技术支持的职责不同&#xff0c;对…

oracle11gR版本GI中新增,Oracle11g新特性MemberKillEscalation简介

从oracle 11gR1 开始&#xff0c;Member Kill Escalation的出现成功的解决了前面提到的情况。当实例eviction在指定的时间内(默认20秒)不能首先我们介绍一下历史。在Oracle 9i/10g 中&#xff0c;如果一个数据库实例需要驱逐(evict, alert 文件中会出现ora-29740错误)另一个实例…

Oracle存储使用情况,我收藏的oracle中一些分析空间使用情况的存储过程!

tom写了个好工具show_space,这个工具对于oracle来讲其实就是个存储过程&#xff0c;这个存储过程可以用来分析空间使用情况&#xff0c;有了此工具&#xff0c;就不用再通过写sql语句来看每条记录或表占用表空间的大小了&#xff0c;使用起来很方便。具体使用过程如下&#xff…

linux iso的引导文件,Linux_从硬盘启动Desktop ISO所需的引导文件,一、仅从硬盘启动Destdop ISO 并 - phpStudy...

从硬盘启动Desktop ISO所需的引导文件一、仅从硬盘启动Destdop ISO 并安装1、从后面的链接下载相关引导文件并解压&#xff1b;2、在任意盘的根目录中新建一个文件夹&#xff0c;并重命名(如feisty、edgy等&#xff0c;menu.lst中用fd_dir变量把要找的文件夹传给系统)把下载的桌…

linux命令为什么这么快,为什么这么多Linux用户更喜欢命令行而不是GUI?

为什么这么多 Linux 用户更喜欢 CLI 而非 GUI&#xff1f; 上次我在 Reddit 关注该问题时&#xff0c;遇到了一些有帮助的投稿&#xff1a;“处于相同的原因我更喜欢谈论指指点点和七嘴八舌。 可以很好的传达并给出很好的反馈。这不是一团糟&#xff0c;而是富有诗意的精确。 你…

Linux下golang的编译,golang Linux下编译环境搭建

1、下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装&#xff0c;所以先安装1.4)2、解压后我的目录结构是&#xff1a;/opt/xxx/golang|-------gopath //开发工作目录|     |------src       //开发源码|     |------p…

linux数据库怎么import,mysqlimport

mysqlimport命令为mysql数据库服务器提供了一种命令行方式导入数据工具&#xff0c;它从特定格式的文本文件中读取数据插入MySQL数据库表中。常用参数:--columns第一列对应的数据表列名,第二列对应的数据表列名,…定义被导入文件中的每一列对应的数据库表列名--fields-terminat…