OpenCV——canny算子
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算子相关推荐
- opencv Canny算子
叙述Canny()函数,这个函数是拿来边缘检测的,最好是高定位低出错. 第一个参数:srcImage,注意要是8位.这个要求和自适应阈值化函数的要求一样. 第二个参数:dstImage,要和srcIm ...
- python canny算子_Python - OpenCV 之Canny算子边缘提取
#!--*-- coding=utf-8 --*-- import cv2 import os import argparse ''' 基于OpenCV Canny 算子的提取图像边缘 ''' # d ...
- OpenCV(十七)边缘检测3 -- Canny算子(最优边缘检测)
目录 一.基础理论 1.作用及介绍 1.原理 2.过程 3.Canny函数 二.回调函数及总代码 效果 参考资料 一.基础理论 1.作用及介绍 Canny边缘检测是非常流行的边缘检测算 ...
- c++gdal如何在大图像中截取小图像并获取其图像信息_【图像处理】OpenCV系列十 --- 边缘检测之Canny算子...
上一篇我们学习了图像处理形态学相关知识点,相信大家学习之后已经对形态学有了足够的理解了,那么接下来,我们一起来学习一下图像处理中的边缘检测吧!我们将会重点学习边缘检测各种算子和滤波器 --- Cann ...
- OpenCV调用摄像头+灰度图+高斯滤波+Canny算子
来把opencv经常要用的一些函数来梳理一下 效果图震楼 惯例opencv配置环境地址:https://blog.csdn.net/aidam_bo/article/details/81132918 ...
- 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...
- 一文解决Opencv四大经典算子——sobel算子、scharr算子、laplacian算子、canny算子
Opencv四大算子 Sobel算子 Scharr算子 laplacian算子 canny算子 总结 边缘是像素值发生跃迁的位置,是图像的显著特征之一,在图像特征提取,对象检测,模式识别等方面都有重要 ...
- opencv 基本算子,LOG算子-墨西哥草帽算子,canny算子
本章内容: 1. LOG算子-墨西哥草帽算子 2. canny算子 1. LOG算子-墨西哥草帽算子 输出结果 2. canny算子 输出结果 源代码 #include <ostream> ...
- python的opencv操作记录12——Canny算子使用
文章目录 Canny算子 非极大值抑制 非极大值抑制中的插值 滞后阈值 实际应用 直接使用Canny算子 使用膨胀 先阈值分割 Canny算子 上一篇说到,我在一个小项目里需要在一幅图像中提取一根试管 ...
最新文章
- KeeSoft.DBHelper.DBFactory 数据库访问类
- mysql 计算近30天总金额_mysql┃一条更新语句是怎么执行的???
- 【Python】logging内置模块基本使用
- 未签名程序使用java_java applets(未签名)可以创建/读取cookie吗?
- python中try语句_[转]python 里面 try语句
- 管理后台--4,删除分类
- 计算机视觉CV中特征点提取SIFT算法的学习笔记
- Hive中外部表的alter与drop操作的最低权限要求
- PHP 与 Perl 语言对比
- NFC reader ( ISO 15693 ) NFC相关技术详解(附源代码)
- 《视觉SLAM十四讲-第二版-ch8,OpenCV4报错及解决》
- 2021-05-15 随机生成车架号
- 一文搞懂HTTPProxy丨含基础、高级路由、服务韧性
- CF卡镜像备份及恢复系统
- 302重定向:302 Moved Temporarily
- 微信与企业微信消息如何互通?
- 中文分词词库汇总(一)
- Opencv4学习-3、进阶图像基本操作1
- yum软件包管理 yum(软件仓库)
- 【ESP 保姆级教程 预告】疯狂Node.js服务器篇 ——案例:ESP8266 + DS18B20温度传感器 +NodeJs本地服务+ MySQL数据库
热门文章
- AVL树、splay树(伸展树)和红黑树比较
- 2022-2028年中国即时通讯市场投资分析及前景预测报告
- 2022-2028年中国绝缘栅双极晶体管(IGBT)行业投资分析及前景预测报告
- 【codeforces 812C】Sagheer and Nubian Market
- 最新手机号段归属地数据库(2017年4月16日版)免费下载
- Servlet运行原理以及生命周期
- PYTHON学习笔记-DAY-16
- js 判断js,css是否引入,确保不重复引入
- 深度学习 vs 机器学习 vs 模式识别
- ubuntu18.04安装CUDA10.0