关于Canny边缘检测算法

Canny边缘检测算法主要是在其它边缘检测算子的基础上提出了改进,改进点在于提出了非极大值抑制和阈值检测。非极大值抑制消除了非边缘的但是梯度值较大的点,阈值检测使得不连续的边缘变得更加连续。

具体Canny算法的解析参考如下博文:

https://blog.csdn.net/likezhaobin/article/details/6892176

https://www.cnblogs.com/Imageshop/p/10664478.html

https://blog.csdn.net/u012198575/article/details/84846567

#include <opencv2/opencv.hpp>
#include <iostream>using namespace cv;
using namespace std;int main() {//载入原始图并显示Mat srcImage = imread("1.jpg");if (!srcImage.data) { printf("Oh,no,读取srcImage错误~! \n"); return false; }imshow("原始图", srcImage);//----------对图像进行Canny边缘检测-----------////创建存储矩阵Mat g_srcCanny,g_edgeCanny,g_srcGray;g_srcCanny.create(srcImage.size(), srcImage.type());//步骤一,将原图像转为灰度图cvtColor(srcImage, g_srcGray, COLOR_BGR2GRAY);//步骤二,去噪blur(g_srcGray, g_edgeCanny, Size(3, 3));//步骤三,运行Canny算子Canny(g_edgeCanny, g_srcCanny, 3, 9);//展示算法结果imshow("Canny边缘检测", g_srcCanny);waitKey(0);return 0;}

OpenCV学习笔记九-Canny边缘检测相关推荐

  1. OpenCV学习笔记(九)——图像轮廓(下)

    <OpenCV轻松入门:面向Python>学习笔记(九) 1-3 查找并绘制轮廓.矩特性及Hu矩 4-5 轮廓拟合及凸包 6. 利用形状场景算法比较轮廓 6.1 计算形状场景距离 6.2 ...

  2. 【opencv学习】【Canny边缘检测】

    今天学习下 Canny检测,具体的算法介绍在代码中展示. import cv2 import numpy as np# 边缘检测,边缘点的特征就是梯度大,一般非边缘点,梯度就偏小甚至是0 # Cann ...

  3. Opencv学习笔记(八) -- 图像色彩空间转换

    1.常见图像色彩空间 RGB RGB色彩模式是工业界的一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通道 ...

  4. opencv学习笔记18:canny算子边缘检测原理及其函数使用

    canny边缘检测原理 去噪:边缘检测容易受到噪声的影响,在此之间,先去噪,通常采用高斯滤波器.opencv学习笔记11:图像滤波(均值,方框,高斯,中值) 梯度:对去噪后的图像采用sobel算子计算 ...

  5. OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器

    OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器 1)滤波:边缘检测的算法主要是基于图像强度的一阶和二阶导数,但导数通常对噪声很敏感,因此 ...

  6. OpenCV学习笔记(九): 漫水填充:floodFill()

    OpenCV学习笔记(九): 漫水填充:floodFill() 定义: 漫水填充法是一种用特定的颜色填充联通区域(自动选中了和种子点相连的区域,接着将该区域替换成指定的颜色)通过设置可连通像素的上下限 ...

  7. OpenCV学习笔记(六)(七)(八)(九)(十)

    OpenCV学习笔记(六)--对XML和YAML文件实现I/O操作 1. XML.YAML文件的打开和关闭 XML\YAML文件在OpenCV中的数据结构为FileStorage,打开操作例如: [c ...

  8. OpenCV学习笔记(五十六)——InputArray和OutputArray的那些事core OpenCV学习笔记(五十七)——在同一窗口显示多幅图片 OpenCV学习笔记(五十八)——读《Mast

    OpenCV学习笔记(五十六)--InputArray和OutputArray的那些事core 看过OpenCV源代码的朋友,肯定都知道很多函数的接口都是InputArray或者OutputArray ...

  9. OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope

    OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...

最新文章

  1. spark rdd map java_如何在spark RDD(JavaRDD)中获取记录的文件名
  2. C语言以递归实现插入排序Insertion Sort算法(附完整源码)
  3. 您拒绝了位置共享服务器,共享服务器拒绝访问
  4. 将nginx永久加入到系统环境变量
  5. java基础:12.7 对象流 ObjectInputStream、ObjectOutputStream
  6. workstation虚拟机详尽教程
  7. 怎么设置ep4ce6e22b8n引脚_技术货:教你怎么检查电路原理图
  8. 计算机指令就是一串开关吗,什么是非法关机?常按计算机开关,还是直接拔掉电源插头才算啊?...
  9. Java 网络教程: ServerSocket
  10. java方法_Java方法
  11. OEA 中的业务控制器设计模式
  12. 南京趋势科技面试归来
  13. dockerfile拉取私库镜像_关于kubernetes拉取私库镜像需要注意的点
  14. 诺基亚java软件下载_诺基亚手机安装JAVA软件程序
  15. 数据库基础知识(面试)
  16. Revit中导入的CAD标高不统一处理及“标高管理”
  17. POI Cannot add merged region XXX to sheet because it overlaps with an existing merged region问题解决
  18. 饥荒控制台输入没用_饥荒联机版代码为什么没效 怎么用怎么输入
  19. 电容外观检测(牛角电容瑕疵缺陷视觉检测系统)
  20. 学计算机cpu重要还是显卡重要,显卡处理器和内存 吃鸡时哪个最重要?

热门文章

  1. word菜单删除,小常识,删除word菜单,WORD菜单栏,删除词霸2003菜单,删除adobe菜单
  2. CVE-2019-2725复现(从环境搭建到getshell)
  3. typescript基本类型demo
  4. 微信小程序获取用户信息以及唯一openid
  5. SLAM: Orb_SLAM的使用小综述
  6. Docker的特性解析
  7. Ubuntu14.04引导菜单修复
  8. STL:使用string、vector、complex和limits
  9. python类型转换、数值操作
  10. [译]Hour 7 Teach.Yourself.WPF.in.24.Hours