1. opencv——Canny算子

Canny 的目标是找到一个最优的边缘检测算法,最优边缘检测的含义是:

最好的检测: 算法能够尽可能多地标识出图像中的实际边缘。

最好的定位: 标识出的边缘要尽可能与实际图像中的实际边缘尽可能接近。

最小的响应:图像中的边缘只能标识一次,并且可能存在的图像噪声不应标识为边缘。
第一步:用高斯平滑滤波器卷积降噪。第二步:计算梯度幅值和方向。第三步:非极大值抑制。第四步:滞后阈值

最简单的Canny用法:

#include<opencv2\opencv.hpp>using namespace cv;
int main()
{Mat src, src1;src = imread("h:\\1.jpg");imshow("原始图", src);Canny(src, src1, 150, 100, 3);//1.输入图 2.输出图 3.高域值 4.低阈值 5.孔径大小,默认值为3imshow("效果图", src1);waitKey(0);return 0;
}

运行结果:

高阶Canny用法:

转换称灰度图,降噪,用Canny,将边缘作掩码,拷贝原图到效果图,得到彩色边缘图。

#include<opencv2\opencv.hpp>using namespace cv;
int main(void)
{Mat src, dst, edge, gray;src = imread("h:\\1.jpg");imshow("原始图", src);//创建与src同类型,同大小的矩阵dstdst.create(src.size(), src.type());//转换灰度图cvtColor(src, gray, COLOR_BGR2GRAY);//用3*3内核降噪blur(gray, edge, Size(3, 3));//运行Canny算子Canny(edge, edge, 3, 9, 3);//将dst图片所有像素设置为0,变成黑色dst = Scalar::all(0);//边缘图做掩码,将原图拷贝到效果图中src.copyTo(dst,edge);imshow("效果图", dst);waitKey(0);return 0;
}    Mat src, dst, edge, gray;src = imread("h:\\1.jpg");imshow("原始图", src);//创建与src同类型,同大小的矩阵dstdst.create(src.size(), src.type());//转换灰度图cvtColor(src, gray, COLOR_BGR2GRAY);//用3*3内核降噪blur(gray, edge, Size(3, 3));//运行Canny算子Canny(edge, edge, 3, 9, 3);//将dst图片所有像素设置为0,变成黑色dst = Scalar::all(0);//边缘图做掩码,将原图拷贝到效果图中src.copyTo(dst,edge);imshow("效果图", dst);waitKey(0);return 0;
}

OpenCV——canny算子相关推荐

  1. opencv Canny算子

    叙述Canny()函数,这个函数是拿来边缘检测的,最好是高定位低出错. 第一个参数:srcImage,注意要是8位.这个要求和自适应阈值化函数的要求一样. 第二个参数:dstImage,要和srcIm ...

  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. KeeSoft.DBHelper.DBFactory 数据库访问类
  2. mysql 计算近30天总金额_mysql┃一条更新语句是怎么执行的???
  3. 【Python】logging内置模块基本使用
  4. 未签名程序使用java_java applets(未签名)可以创建/读取cookie吗?
  5. python中try语句_[转]python 里面 try语句
  6. 管理后台--4,删除分类
  7. 计算机视觉CV中特征点提取SIFT算法的学习笔记
  8. Hive中外部表的alter与drop操作的最低权限要求
  9. PHP 与 Perl 语言对比
  10. NFC reader ( ISO 15693 ) NFC相关技术详解(附源代码)
  11. 《视觉SLAM十四讲-第二版-ch8,OpenCV4报错及解决》
  12. 2021-05-15 随机生成车架号
  13. 一文搞懂HTTPProxy丨含基础、高级路由、服务韧性
  14. CF卡镜像备份及恢复系统
  15. 302重定向:302 Moved Temporarily
  16. 微信与企业微信消息如何互通?
  17. 中文分词词库汇总(一)
  18. Opencv4学习-3、进阶图像基本操作1
  19. yum软件包管理 yum(软件仓库)
  20. 【ESP 保姆级教程 预告】疯狂Node.js服务器篇 ——案例:ESP8266 + DS18B20温度传感器 +NodeJs本地服务+ MySQL数据库

热门文章

  1. AVL树、splay树(伸展树)和红黑树比较
  2. 2022-2028年中国即时通讯市场投资分析及前景预测报告
  3. 2022-2028年中国绝缘栅双极晶体管(IGBT)行业投资分析及前景预测报告
  4. 【codeforces 812C】Sagheer and Nubian Market
  5. 最新手机号段归属地数据库(2017年4月16日版)免费下载
  6. Servlet运行原理以及生命周期
  7. PYTHON学习笔记-DAY-16
  8. js 判断js,css是否引入,确保不重复引入
  9. 深度学习 vs 机器学习 vs 模式识别
  10. ubuntu18.04安装CUDA10.0