matlab---边缘之sobel简单实例

2024-08-25 05:58

本文主要是介绍matlab---边缘之sobel简单实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在项目中需要做一些图像边缘检测的工作,但是由于之前没接触过图像处理的相关知识,所以只得在matlab里面对

一些图像处理函数挨个挨个的试着用。在用的过程中在慢慢的明白了一些简单的图像处理方法。


matlab代码如下:


load POTDR_室外实验_20140120_160549TwoPoint2.mat  %加载数据,测试数据


Data=data(1:size(data,1),:);  %Data两点扰动的矩阵数据388行*3472列


ColmStart=100;  %因数据量太大,需要对列数据进行采样。从第100列开始取数据 


ColmLag=10;     %采样数据间隔,每隔10列采一列


    VAR=[];     %定义一个空向量



 ColmI=ColmStart:ColmLag:size(Data,2)-mod(size(Data,1),ColmLag)-ColmLag;   %ColmI为具体对3472列中哪些列进行采样绘图为1*331的向量



  NewData=Data(:,ColmI);  %NewData为在原3472行数据中采样抽取出来的145列.388*331(原始采样图像数据)



  DiffData=diff(NewData,1); %DiffData为对NewData作一阶差分运算的差分矩阵也是145列 388*331



  IDiffData=abs(DiffData);  %取差分图像数据的绝对值,使得图像中的值都为正


接下来将画一些图像,让读者有一些直观的印象:


imshow(NewData); %显示原始采样图像数据的的灰度图:


edge(NewData,'sobel','vertical');%原始采样图像数据的灰度图的垂直方向的边缘检测:


imshow(DiffData);%显示差分图像数据的灰度图:


edge(DiffData,'sobel','vertical');%差分图像的垂直边缘检测


imshow(IDiffData);%差分图像绝对值的灰度图


edge(IDiffData,'sobel','vertical');%显示差分绝对值的垂直边缘检测



VAR=[VAR var(DiffData,1)]; %^VAR为一个1*331的行向量,其中的每个值为差分矩阵每个列向量的方差,方差越大,代表NewData中列与列之间的数据变化越大。

 

plot(VAR);hold on;plot(VAR,'r*');axis tight;title('差分后的方差图像');%二维输出方差向量。并描出每隔方差向量点。一列一个点





至此:边缘检测的一些图像和matlab代码已经呈现出来了。

从这些图像中不难看出边缘检测的规律,读者也可以自己

对照着进行一些matlab实验。


本文逻辑稍显混乱,望读者谅解。



转载请注明作者:小刘



这篇关于matlab---边缘之sobel简单实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104739

相关文章

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

MySQL的配置文件详解及实例代码

《MySQL的配置文件详解及实例代码》MySQL的配置文件是服务器运行的重要组成部分,用于设置服务器操作的各种参数,下面:本文主要介绍MySQL配置文件的相关资料,文中通过代码介绍的非常详细,需要... 目录前言一、配置文件结构1.[mysqld]2.[client]3.[mysql]4.[mysqldum

python连接sqlite3简单用法完整例子

《python连接sqlite3简单用法完整例子》SQLite3是一个内置的Python模块,可以通过Python的标准库轻松地使用,无需进行额外安装和配置,:本文主要介绍python连接sqli... 目录1. 连接到数据库2. 创建游标对象3. 创建表4. 插入数据5. 查询数据6. 更新数据7. 删除

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

Python跨文件实例化、跨文件调用及导入库示例代码

《Python跨文件实例化、跨文件调用及导入库示例代码》在Python开发过程中,经常会遇到需要在一个工程中调用另一个工程的Python文件的情况,:本文主要介绍Python跨文件实例化、跨文件调... 目录1. 核心对比表格(完整汇总)1.1 自定义模块跨文件调用汇总表1.2 第三方库使用汇总表1.3 导

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清