资讯专栏INFORMATION COLUMN

OpenCV——Canny边缘检测

2shou / 2123人阅读

摘要:应用非极大值抑制算法消除边缘检测带来的杂散相应。应用双阈值法区分强边缘和弱边缘。显示图像三代码边缘检测图像质量较好,无噪声。

一、Canny算法

   Canny边缘检测算法是目前最优越的边缘检测算法之一,该算法的检测过程分5个步骤:

  1. 使用高斯滤波平滑图像,减少噪声。
  2. 计算图像中每个像素的梯度方向和幅值。
  3. 应用非极大值抑制算法消除边缘检测带来的杂散相应。
  4. 应用双阈值法区分强边缘和弱边缘。
  5. 消除孤立的边缘。

二、C++代码

#include #include using namespace cv;using namespace std;int main(){	//----------------读取图像-----------------	Mat img = imread("1.jpg");    //黑白图像边缘检测结果较为明显	Mat gray_img;	cvtColor(img, gray_img, COLOR_BGR2GRAY);	Mat resultHigh;	//--------------Canny边缘检测--------------	// 图像质量较好,无噪声。因此,无需高斯滤波。	Canny(gray_img, resultHigh, 100, 200, 3);	//----------------显示图像-----------------	imshow("origin_pic", img);	imshow("gray", gray_img);	imshow("resultHigh", resultHigh);	waitKey(0);	return 0;}

三、python代码

import cv2img = cv2.imread("1.jpg")gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# -------------------canny()边缘检测------------------------# 图像质量较好,无噪声。因此,无需高斯滤波。canny = cv2.Canny(gray_img, 100, 200, 3)# ----------------------显示结果----------------------------cv2.imshow("original_img", img)cv2.imshow("gray_img", gray_img)cv2.imshow("Canny", canny)cv2.waitKey(0)

四、结果展示

1、原始图像

2、灰度图像

3、图像边缘

五、参考链接

[1] OpenCV—python 边缘检测(Canny)
[2] OpenCV彩色图与灰度图互相转换
[3] OpenCV–图像转化为灰度图、HSV图
[4] Canny边缘检测算法原理及其VC实现详解(一)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122160.html

相关文章

  • OpenCV基础(11)基于OpenCV边缘检测

    摘要:对图像进行两个方向的梯度,将原始图像提取为边缘结构表示,使其结构完整性保持不变。边缘检测边缘检测是应用最广泛的边缘检测算法之一。在性能方面,边缘检测得到了最好的结果,因为它不仅使用了边缘检测,而且还使用了非最大抑制和迟滞阈值。 ...

    RobinQu 评论0 收藏0
  • opencv python Canny边缘检测

    摘要:虽然边低于,但它连接到边,因此也被视为有效边,我们得到完整的曲线。但边缘虽然高于并且与边缘的区域相同,但它没有连接到任何真实边缘,因此被丢弃。 Canny Edge Detection Canny边缘检测是一种流行的边缘检测算法.它是由John F. Canny开发的, 这是一个多阶段算法. 减少噪音由于边缘检测易受图像中的噪声影响,因此第一步是使用5x5高斯滤波器去除图像中的噪...

    whinc 评论0 收藏0
  • 边缘和轮廓检测——计算机视觉的应用

    摘要:它是图像处理图像模式识别和计算机视觉技术的基本步骤之一。轮廓检测可能是一种用于形状分析和对象检测和识别的有用技术。对整个图像进行边缘检测,而仅对图像内的对象进行轮廓检测。 计算机视觉的重点是从计算机中的视频和图像中提取有意义的信息。在本文中,我们将从初学者开始探索一个使用 OpenCV ...

    mo0n1andin 评论0 收藏0
  • OpenCV-Python 图像的边缘检测

    摘要:设置兼容中文算子代表沿方向做算子代表沿方向做算子格式转换边缘检测结果原图算子边缘检测算子边缘检测算子更能体现细节代表沿方向做算子代表沿方向做算子格式转换边缘检测结果原图算子边缘检 ...

    番茄西红柿 评论0 收藏2637
  • Python OpenCV图像处理:❤️转换+梯度❤️边缘检测+图像融合,aplacian金字塔合成

    ?????? ???Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照??? ???CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习 ?入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!??? ?最后,愿我们都能在看不到的地方闪闪发光,一起加油进步??? ???一万次悲伤,依然会有Dream,我一直在最温暖的地方等你,唱的就是我!哈哈哈~...

    DevYK 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<