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

在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简单实例的更多相关文章

  1. Hibernate(二)__简单实例入门

    首先我们进一步理解什么是对象关系映射模型? 它将对数据库中数据的处理转化为对对象的处理.如下图所示: 入门简单实例: hiberante 可以用在 j2se 项目,也可以用在 j2ee (web项目中 ...

  2. 最新 Eclipse IDE下的Spring框架配置及简单实例

    前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...

  3. 修改js confirm alert 提示框文字的简单实例

    修改js confirm alert 提示框文字的简单实例: <!DOCTYPE html> <html> <head lang="en"> & ...

  4. 利用navicat创建存储过程、触发器和使用游标的简单实例

    利用navicat创建存储过程.触发器和使用游标的简单实例 标签: navicat存储过程触发器mysql游标 2013-08-03 21:34 15516人阅读 评论(1) 收藏 举报  分类: 数 ...

  5. 【转】Android Https服务器端和客户端简单实例

    转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 ...

  6. Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例

    目录 [TOC] 1.环境准备 ​ 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...

  7. vue路由的简单实例

    vue2.0 和 vue1.0 路由的语法还是有点稍微的差别,下面介绍一下vue-router 2的简单实例: <!DOCTYPE html> <html lang="en ...

  8. Flume概述和简单实例

    Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...

  9. jsoup解析HTML及简单实例

    jsoup 中文参考文献    http://www.open-open.com/jsoup/ 本文将利用jsoup,简单实现网络抓取的功能,并给出一个小实例,该实例效果为:获取作者本人在博客园写的所 ...

随机推荐

  1. Android实现自适应正方形GridView

    Android实现自适应正方形GridView  

  2. bzoj1689 [Usaco2005 Open] Muddy roads 泥泞的路

    Description Farmer John has a problem: the dirt road from his farm to town has suffered in the recen ...

  3. MSSQL WITH (NOLOCK) 脏读

    缺点: 1.会产生脏读 2.只适用与select查询语句 优点: 1.有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%. 2.可以用于inner join 语句 脏读: 一个用 ...

  4. 剑指offer-面试题.二叉树的镜像

    题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像.  二叉树节点定义如下: strcut BinaryTreeNode { int val; strcut BinaryTreeNode* m_ ...

  5. 【Python】Coding the Matrix:Week 5: Dimension Homework 5

    这一周的作业,刚压线写完.Problem3 没有写,不想证明了.从Problem 9 开始一直到最后难度都挺大的,我是在论坛上看过了别人的讨论才写出来的,挣扎了很久. Problem 9在给定的基上分 ...

  6. 认识xml

    什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没 ...

  7. cocos2dx 3.1从零学习(三)——Touch事件(回调,反向传值)

    第三讲 Touch 前面两篇我们学习的内容,足够我们做一款简单的小游戏.也能够说,我们已经入门了,能够蹒跚的走路了. 本篇将解说cocos2dx中非常重要的touch回调机制.你肯定记得第一章做定时器 ...

  8. Mock.js:前后端分离开发工具

    概述 Mock.js实现的功能 基于 数据模板 生成数据 基于 HTML模板 生成数据 拦截并模拟 Ajax请求 用法 浏览器: <!-- (必选)加载 Mock --> <scri ...

  9. 使用Xcode上传代码至GitHub

    几乎所有iOS程序员都上过GitHub寻找开源类库,的确,GitHub上有大量优秀的开源类库供大家学习.但是如何在Xcode中上传代码至GitHub呢? (开始之前先安装git,具体方法这里讲的很清楚 ...

  10. 【沙茶了+筛选保存最大质因数】【HDU2136】Largest prime factor

    Largest prime factor Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...