边缘检查的一般步骤

1.滤波

边缘检查的算法主要是基于图像强度的一阶和二阶倒数,但倒数通常对噪声很敏感,因此必须采用滤波器来

改善与噪声有关的边缘检测器的性能。

2.增强

增强边缘的基础是确定图像各点的领域强度的变化值。增强算法可以将图像灰度点领域强度值有显著变化的点

凸显出来

3.检测

常用的方法是通过阈值化方法来检测

Canny函数

void Canny(

inputArray image,

outputArray edges,

double thresholdint1,

double threshold2,

int apertursSize=3,

bool L2gradient=false

)

通常第三个参数和第四个参数的比值是3:1和2:1

下面是代码:

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main()
{Mat src = imread("1.jpg");Mat src1 = src;Mat out;namedWindow("原图");imshow("原图", src);//方法一3以下的版本Canny(src, out, 150, 100);namedWindow("方法一的效果图");imshow("方法一的效果图",out);//方法二3以上的版本Mat dst, edge, gray;//创建一个与src1一样的矩阵dst.create(src1.size(), src1.type());//将原图像转为灰度cvtColor(src1, gray, COLOR_RGB2GRAY);//滤波(降噪)blur(gray, edge, Size(3, 3));//cannyMat out2;Canny(edge, out2, 15, 10);dst = Scalar::all(0);src1.copyTo(dst, out2);namedWindow("方法二的效果图");imshow("方法二的效果图", out2);waitKey();return 0;
}

运行结果如下:

C/C++ OpenCV之Canny边缘检测相关推荐

  1. Python,Opencv cv2.Canny()边缘检测

    Python,Opencv的Canny边缘检测 1. 效果图 2. 源码 参考 这篇博客将介绍Canny边缘检测的概念,并利用cv2.Canny()实现边缘检测: Canny边缘检测是一种流行的边缘检 ...

  2. OpenCV中Canny边缘检测

    OpenCV中Canny边缘检测 具体的Canny边缘检测原理: 1.消除噪声,使用高斯平滑滤波器卷积降噪 2.计算梯度幅值和方向.利用Sobel滤波器. 得到x和y方向的导数Gx和Gy 计算梯度的幅 ...

  3. Python+OpenCV:Canny边缘检测

    Python+OpenCV:Canny边缘检测 理论 Canny边缘检测是目前比较流行的边缘检测算法,它由John F. Canny发明. 1. 这是一个多阶段的算法. 2. 降噪:由于边缘检测容易受 ...

  4. 图像处理——基于OpenCV的canny边缘检测

    前言 边缘检测是处理图像里面的比较重要的一个概念,现在的边缘有传统的处理算法,也有加入深度学习的边缘检测算法,这里把我用过的几种边缘检测做个对比. canny算子 1.OpenCV canny() C ...

  5. OpenCV 笔记(02)— 图像显示、保存、腐蚀、模糊、canny 边缘检测(imread、imshow、namedWindow、imwrite)

    OpenCV 提供两种用户界面选项: 基于原生用户界面的基本界面,适用于 Mac OS X 的 cocoa 或 carbon,以及适用于 Linux 或 Windows 用户界面的 GTK ,这些界面 ...

  6. Python cv2(Opencv) Canny边缘检测 和 傅里叶变换

    简介: OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效,由一 ...

  7. opencv图片矩形网格边线_图像算法在数值计算中的应用(1):Canny边缘检测算法...

    引言 有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍在广泛应用.该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域.在直角坐标系下,求解域差分网格通常为均匀的矩形,在表达非矩 ...

  8. OpenCV中的图像处理 —— 图像梯度+Canny边缘检测+图像金字塔

    OpenCV中的图像处理 -- 图像梯度+Canny边缘检测+图像金字塔 目录 OpenCV中的图像处理 -- 图像梯度+Canny边缘检测+图像金字塔 1. 图像梯度 1.1 Sobel和Schar ...

  9. Canny边缘检测算法(python 实现)

    文章目录 最优边缘准则 算法实现步骤 1. 应用高斯滤波来平滑(模糊)图像,目的是去除噪声 2. 计算梯度强度和方向 3. 应用非最大抑制技术NMS来消除边误检 4. 应用双阈值的方法来决定可能的(潜 ...

最新文章

  1. MetaSploit攻击实例讲解------攻击445端口漏洞(kali linux 2016.2(rolling))(详细)
  2. TeamTNT通过模仿WatchDog团伙来掩盖其加密劫持足迹
  3. 在阿里云 ECS 上试图安装 SAP Commerce Cloud 的 137 错误
  4. 下排牙齿中间高两边低_爱护牙齿 每半年洁牙一次
  5. linux软raid 系统坏了,LINUX下软RAID的制造及如何查看坏盘?
  6. poj 1703 并查集
  7. 【ERNIE】深度剖析知识增强语义表示模型——ERNIE
  8. Visual Studio 创建C语言项目
  9. webservice和webserver区别
  10. 四菱天线怎么加强_关于自制电视四菱天线材料好坏和买连接线和转接头问题
  11. 5星好书———电子技术基础数字部分(第6版)
  12. collapse组件样式 react_antd源码分析之——折叠面板(collapse)
  13. mc服务器文件夹改皮肤,我的世界皮肤替换教程 老司机教你更换皮肤
  14. raster包—aggregate函数
  15. Qt的各版本直接下载地址
  16. 7-3 降价提醒机器人 (10 分)小 T 想买一个玩具很久了,但价格有些高,他打算等便宜些再买。但天天盯着购物网站很麻烦,请你帮小 T 写一个降价提醒机器人,当玩具的当前价格比他设定的价格便宜时发
  17. IP RAN基站回传中的三大组网方案
  18. sfc/scannow检查并修复window系统
  19. R语言关联规则及其可视化(Foodmart数据)
  20. linux操作系统:x86架构,一个良好的运营环境

热门文章

  1. 做为一个程序员,真的要经历学历之痛?互联网企业有多么看重学历!
  2. 码农心目中的高富帅甲骨文公司在走下坡路
  3. 它们翻滚着的飞秋下载
  4. 飞鸽传书2014提前发布?
  5. 用VC写Assembly代码(5) --函数调用(一)
  6. QQ尾巴病毒的Visual C++实现探讨
  7. 明确C++风格的类型转换的用法
  8. 程序员工资虽高,但日子过得....
  9. 不是所有的程序员都适合转管理
  10. oracle 去除英文字母,请教:如何去掉字段中的所有标点符号(包括全角的和半角的)...