叙述Canny()函数,这个函数是拿来边缘检测的,最好是高定位低出错。

第一个参数:srcImage,注意要是8位。这个要求和自适应阈值化函数的要求一样。

第二个参数:dstImage,要和srcImage相同大小并且也是8位。

第三个参数,第四个参数是两个阈值化指标。较小的进行边缘连接,较大的控制强边缘的初始阶段。最好大小比为2:1或3:1。

第五个参数:apertrueSize。应用Sobel算子孔径大小。默认值为3。

第六个参数:bool的L2gradient。默认值为false。计算图像梯度幅值的标志。

图像的梯度:梯度的方向是函数f(x,y)变化最快的方向,当图像中存在边缘时,一定有较大的梯度值,相反,当图像中有比较平滑的部分时,灰度值变化较小,则相应的梯度也较小,图像处理中把梯度的模简称为梯度,由图像梯度构成的图像成为梯度图像。

下面书上介绍的彩色Canny算子的思路是:

1:先灰度图,再模糊一下,再用Canny算子一下,得到图形 掩膜。

2:Scalar::all(0)初始化dstImage,并且通过copyTo函数将原图加上掩膜复制给dstImage。这就是彩色Canny了。

-----------------------------------代码如下--------------------------------------------------------------------------------

#include"stdafx.h"
#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\opencv.hpp>
using namespace cv;

int main()
{
    Mat srcImage = imread("D:\\PICTURE\\lan.jpeg");
    if (!srcImage.data) {
        printf("读取图片失败\n");
        return 0;
    }
    Mat grayImage, dstImage, edge;
    cvtColor(srcImage, grayImage, COLOR_RGB2GRAY);
    blur(grayImage, edge, Size(3, 3));
    Canny(edge, edge, 3, 9);
    dstImage = Scalar::all(0);
    srcImage.copyTo(dstImage,edge);
    imshow("原图", srcImage);
    imshow("效果图", dstImage);
    waitKey(0);
    return 0;

}

opencv Canny算子相关推荐

  1. OpenCV——canny算子

    1. opencv--Canny算子 Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是: 最好的检测: 算法能够尽可能多地标识出图像中的实际边缘. 最好的定位: 标识出的边缘要尽可 ...

  2. python canny算子_Python - OpenCV 之Canny算子边缘提取

    #!--*-- coding=utf-8 --*-- import cv2 import os import argparse ''' 基于OpenCV Canny 算子的提取图像边缘 ''' # d ...

  3. OpenCV(十七)边缘检测3 -- Canny算子(最优边缘检测)

    目录 一.基础理论 1.作用及介绍 1.原理 2.过程 3.Canny函数 二.回调函数及总代码 效果 参考资料 ​​​​​​​ 一.基础理论 1.作用及介绍 Canny边缘检测是非常流行的边缘检测算 ...

  4. c++gdal如何在大图像中截取小图像并获取其图像信息_【图像处理】OpenCV系列十 --- 边缘检测之Canny算子...

    上一篇我们学习了图像处理形态学相关知识点,相信大家学习之后已经对形态学有了足够的理解了,那么接下来,我们一起来学习一下图像处理中的边缘检测吧!我们将会重点学习边缘检测各种算子和滤波器 --- Cann ...

  5. OpenCV调用摄像头+灰度图+高斯滤波+Canny算子

    来把opencv经常要用的一些函数来梳理一下 效果图震楼 惯例opencv配置环境地址:https://blog.csdn.net/aidam_bo/article/details/81132918 ...

  6. 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...

  7. 一文解决Opencv四大经典算子——sobel算子、scharr算子、laplacian算子、canny算子

    Opencv四大算子 Sobel算子 Scharr算子 laplacian算子 canny算子 总结 边缘是像素值发生跃迁的位置,是图像的显著特征之一,在图像特征提取,对象检测,模式识别等方面都有重要 ...

  8. opencv 基本算子,LOG算子-墨西哥草帽算子,canny算子

    本章内容: 1. LOG算子-墨西哥草帽算子 2. canny算子 1. LOG算子-墨西哥草帽算子 输出结果 2. canny算子 输出结果 源代码 #include <ostream> ...

  9. python的opencv操作记录12——Canny算子使用

    文章目录 Canny算子 非极大值抑制 非极大值抑制中的插值 滞后阈值 实际应用 直接使用Canny算子 使用膨胀 先阈值分割 Canny算子 上一篇说到,我在一个小项目里需要在一幅图像中提取一根试管 ...

最新文章

  1. Racket 6.7最新版本:提供对Android App的支持及改进的REPL等等
  2. iphone静音键失灵_知否 | 为何大部分安卓机 都不学iPhone加入静音键?
  3. Java Mission Control 5.2终于来了! 欢迎7u40!
  4. redhat server 5.3内核升极2.6.18 升级到 3.5 装systemtap 原创
  5. 基于JAVA+Servlet+JSP+MYSQL的牙科诊所管理系统
  6. [BZOJ4568][SCOI2016]幸运数字(倍增LCA,点分治+线性基)
  7. 第八届蓝桥杯第八题日期问题
  8. java多线程设计模式:wait/notify机制(转)
  9. 数字图像处理课程设计
  10. android 7.0楷体字体,Win7系统怎么设置字体为楷体gb2312
  11. RK3399平台开发系列讲解(外设篇)3.35、GMAC RGMII Delayline Guide 窗口配置
  12. Flex 加载Base64编码的二进制字符串图片
  13. node-red与西门子PLC通信
  14. 面试中经常被问到Java引用类型原理,带你深入剖析
  15. 印度旅游业的兴衰,如同喜马拉雅山,连绵起伏 | 经济学人全球早报精选
  16. 模拟cmos集成电路(8)
  17. GOPATH 与工作空间
  18. C++之string
  19. Win11右键怎么直接显示所有选项?
  20. 手机计算机游戏攻略,迫击炮计算器手机版 | 手游网游页游攻略大全

热门文章

  1. 机器学习算法——朴素贝叶斯(贝努利模型和多项式模型实现分类)
  2. 精心整理计算机热门视频教程免费下载[特集A](1-50)
  3. CAD迷你看图软件好不好用,怎么一键快速打开图纸?
  4. Notification桌面提醒:HTML5新功能
  5. 2023五一建模A题完整版本【原创首发】
  6. 陈丹琦团队提出低内存高效零阶优化器MeZO,单卡A100可训练300亿参数模型
  7. 数字调制系统工作原理_预付费电表和预付费抄表系统工作原理
  8. 6-10 找出大于num的最小素数 (10 分)
  9. iOS开发 -- iPhone手机屏幕尺寸
  10. 一个很好的省市县三级联动js文件,使用很方便