没有办法使用内置的

edge功能.但是,Canny边缘检测使用了

Sobel Operator的角度.很容易重现这些值.

>从图像开始,我将使用内置的演示图像.

A = im2double(rgb2gray(imread('peppers.png')));

>获得Canny边缘

A_canny = edge(A, 'Canny');

> Sobel运算符 – 我们不能使用内置实现(edge(A_filter,’Sobel’)),因为我们需要边缘角度,而不仅仅是边缘位置,因此我们实现了自己的运算符.

一个.高斯滤波器.这是Canny的预处理步骤,所以我们应该在这里重现它

A_filter = imgaussfilt(A);

湾卷积找到定向梯度

%These filters measure the difference in values between vertically or horizontally adjacent pixels.

%Effectively, this finds vertical and horizontal gradients.

vertical_filter = [-1 0 1; -2 0 2; -1 0 1];

horizontal_filter = [-1 -2 -1; 0 0 0; 1 2 1];

A_vertical = conv2(A_filter, vertical_filter, 'same');

A_horizontal = conv2(A_filter, horizontal_filter, 'same');

C.计算角度

A_angle = arctan(A_vertical./A_horizontal);

>获取边缘位置的角度值

A_canny_angles = nan(size(A));

A_canny_angles(A_canny) = A_angle(A_canny);

>选择您感兴趣的角度

angle_tolerance = 22.5/180*pi;

target_angle = 0;

A_target_angle = A_canny_angles >= target_angle*pi/180 - angle_tolerance & ...

A_canny_angles<= target_angle*pi/180 + angle_tolerance;

因此,如果我正在寻找水平线,我的目标角度将为零.下图说明了步骤1,2,4和5.提取的水平线的最终结果显示在右下角.您可以看到它们不是完全水平的,因为我使用了这么大的角度公差窗口.这是一个可调参数,具体取决于您想要达到目标角度的精确程度.

matlab canny边缘,matlab – 定向Canny边缘检测相关推荐

  1. 7.边缘检测:2D运算——Canny边缘原理、Canny边缘检测器、Canny-Matlab实战_2

    目录 Canny边缘原理 Canny边缘检测器 Canny-Matlab实战 Canny边缘原理 既然我们知道了如何计算光滑导数和梯度,我们就可以回到如何找到边的问题上. 基本上这是一个多步骤的过程, ...

  2. canny算子_在Python中逐步检测Canny边缘 计算机视觉

    作者 | Sofiane Sahir 来源 | Towards data science 编辑 | 代码医生团队 今天的想法是使用Canny边缘检测算法构建一种能够绘制图片上任何对象边缘的算法. 首先 ...

  3. canny检测matlab,Canny边缘检测(Matlab版)

    Canny(坎尼)边缘检测算法作为数字图像处理接触到的第一个效果较好的边缘检测算法,原理并不复杂.现有很多教程已经对其进行解释,在此不再赘述. Canny边缘检测的主要过程为 图像平滑去噪 图像梯度( ...

  4. hough变换连接边缘matlab,边缘检测与Hough变换实验报告 Matlab - 图文

    <边缘检测与Hough变换实验报告 Matlab - 图文>由会员分享,可在线阅读,更多相关<边缘检测与Hough变换实验报告 Matlab - 图文(5页珍藏版)>请在人人文 ...

  5. matlab 边缘检测 抠图,ps如何调整边缘的流程:边缘检测、调整边缘、输出(调整边缘抠图...

    文章详细介绍ps如何调整边缘的流程,遵循ps调整边缘抠图三步骤:边缘检测.调整边缘.输出来操作就OK. 关于ps如何调整边缘,我们使用一个截图来介绍ps调整边缘抠图的流程. ps调整边缘抠图的步骤如下 ...

  6. MATLAB梯度和拉普拉斯算子在图像边缘检测中的应用

    MATLAB梯度和拉普拉斯算子在图像边缘检测中的应用 数学方法 边缘检测最通用的方法是检测灰度值的不连续性,这种不连续性用一阶和二阶导数来检测. (1)一阶导数:一阶导数即为梯度,对于平面上的图像来说 ...

  7. python使用openCV图像加载(转化为灰度图像)、Canny边缘检测器检测图像的边缘(Detect Edges)

    python使用openCV图像加载(转化为灰度图像).Canny边缘检测器检测图像的边缘(Detect Edges) 目录

  8. Canny边缘检測算法原理及其VC实现具体解释(一)

    图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般能够看作是一个阶跃,既从一个灰度值在非常小的缓冲区域内急剧变化到还有一个灰度相差较大的灰度值.图象的边缘部分集中了图象的大部分信息,图 ...

  9. opencv库skimage 实现Canny边缘探测算法

    Canny算法 请参考:Canny算法python手动实现 请参考:Canny边缘检测算法原理及opencv实现 skimage库中函数 skimage.feature.canny(image, si ...

最新文章

  1. 合肥中学计算机老师招聘,2019年合肥北城中学教师招聘公告
  2. JMeter 性能测试进阶实战
  3. java servlet 部署到tomcat_如何把spring boot项目部署到tomcat容器中
  4. 备课笔记190826
  5. ANDROID模拟器访问本地WEB应用10.0.2.2
  6. 春节没事,看几部黑客电影吧!
  7. java rrd_rrd4j的基本介绍和使用
  8. 360一键root su浅析
  9. linux fat32转ntfs,fat32怎么转换ntfs格式?不损坏数据FAT32转NTFS命令是什么 电脑维修技术网...
  10. 涂抹oracle扩库,涂抹oracle
  11. sed修炼系列(一):花拳绣腿之入门篇
  12. 华为研究院19级研究员几年心得终成趣谈网络协议文档
  13. cad线性标注样式修改在哪里_自定义设置CAD标注样式教程
  14. 用有趣的Perl模块捣蛋
  15. 浅谈蓝湖使用ps插件快速构建代码
  16. 激光雷达点云---点云二维栅格化处理
  17. Large-Scale Multi-View Subspace Clustering in Linear Time
  18. 多益网络社招iq_请问,【多益网络】社招游戏策划助理,iq测试重要吗?
  19. 点击textView自动打电话属性
  20. android系统相机实时数据采集流程,Android 摄像头采集与数据处理

热门文章

  1. kubeadm部署k8s_(Ansible)三分钟部署一套高可用/可扩展的kubeadm集群
  2. zookeeper版本更新_ZooKeeper入门,看这篇就够了!
  3. mysql查看数据倾斜_深入理解hadoop数据倾斜
  4. tf 从RNN到BERT
  5. 【数据结构与算法-1】常用数据结构
  6. Eclipse2020安装了最新版本的JDK却无法打开,提示版本太老的完美解决方法
  7. 【数据分析实例】6000 条倒闭企业数据分析
  8. 线性代数中的矩阵消元法,求逆
  9. 工艺流程计算机仿真设计,450kt/a合成氨反应器及生产过程计算机仿真设计
  10. webpack 4.14.0 版本太高,无法执行相关指令,(将webpack高版本切换到低版本)--直接覆盖