python进行图像边缘检测

article/2025/9/29 13:39:42

边缘检测

图像边缘是指图像中表达物体的周围像素灰度发生阶跃变化的那些像素集合。
图像中两个灰度不同的相邻区域的交界处,必然存在灰度的快速过渡或称为跳变,它们与图像中各区域边缘的位置相对应,边缘蕴含了丰富的内在信息,如方向、阶跃性质、形状等,沿边缘走向的像素变化平缓,而垂直于边缘方向的像素变化剧烈。


图像的大部分信息都集中在边缘部分,边缘确定后实际上就实现了不同区域的分割。

文章目录

  • 边缘检测
  • 边缘检测算子
      • 1、Roberts算子
      • 2、Prewitt算子
      • 3、Sobel算子
      • 4、Canny算子
      • 5、拉普拉斯算子
  • 效果实验
      • 1、 Roberts边缘检测
      • 2、Prewitt 边缘检测
      • 3、Sobel边缘检测
      • 4、Canny边缘检测
      • 5、Laplacian 边缘检测


边缘检测算子

求取边缘往往要借助一些边缘检测算子,这些算子有的是基于一阶导数的算子,有的是二阶微分算子

Roberts算子、Prewitt算子、Sobel算子它们包含x、y两个方向的模板,每种模板只对相应的方向敏感,对该方向上的方向有明显的输出,而对其他方向的变化响应不大。以下是一些常见的一阶微分算子及其特点:

算子名称特点
简单微分算子对噪声敏感,对噪声具有一定放大作用
Roberts算子去噪声作用小,边缘检测能力优于简单微分算子
Prewitt算子能够有效抑制噪声的影响,同时能够检测边缘点
Sobel算子得到的边缘较宽,噪声抑制效果更强
Canny算子检测的边缘位置准确且边缘较窄

1、Roberts算子

在这里插入图片描述

2、Prewitt算子

在这里插入图片描述

3、Sobel算子

Sobel算子检测到的边缘相比于Roberts算子的检测结果要连续一些,并且对于图像的细节检测能力更好,且Sobel边缘检测器引入了局部平均,对噪声的影响比较小,效果较好。

在这里插入图片描述

4、Canny算子

Canny得到的检测结果优于Roberts、Sobel算子的检测结果,边缘细节更丰富,边缘定位准确连续性较好,虚假边缘少且边缘均具有单像素宽度。
其算法实现具体分为以下4步:

  1. 用高斯滤波器平滑图像
  2. 用一阶偏导的有限差分来计算梯度的幅度和方向
  3. 对梯度幅值进行非极大值抑制
  4. 用双阈值算法检测和连接边缘

5、拉普拉斯算子

常见的二阶微分算子包括拉普拉斯算子,它是一种二阶导师算子,对图像中的噪声相当敏感,而且检测出的边缘常常是双像素宽,没有方向信息,所以拉普拉斯算子很少直接用于检测边缘,而主要用于已知边缘像素后,确定该像素是在图像的暗区还是明区。另外,一阶差分算子会在较宽范围内形成较大的梯度值,因此不能准确定位,而利用二阶差分算子的过零点可以精确定位边缘。
Laplace算子的噪声明显比Sobel算子的噪声大,但其边缘比Sobel要细很多,且Laplace变换作为二阶微分算子对噪声特别敏感,并且会产生双边沿,不能检测边缘方向。

在这里插入图片描述


效果实验

1、 Roberts边缘检测

Prewitt 算子代码:

Roberts_kernel_x = np.array([[-1, 0], [0, 1]], dtype=int)
Roberts_kernel_y = np.array([[0, -1], [1, 0]], dtype=int)

在这里插入图片描述

2、Prewitt 边缘检测

Prewitt 算子代码:

Roberts_kernel_x = np.array([[-1, 0], [0, 1]], dtype=int)
Roberts_kernel_y = np.array([[0, -1], [1, 0]], dtype=int)

在这里插入图片描述

3、Sobel边缘检测

Sobel函数:

edges = cv2.Sobel(img, -1, 1, 1)

在这里插入图片描述

4、Canny边缘检测

Canny函数:

edges = cv2.Canny(img, 5, 100)

在这里插入图片描述

5、Laplacian 边缘检测

Laplacian 函数:

edges = cv2.Laplacian(img, -1)

在这里插入图片描述



http://chatgpt.dhexx.cn/article/a4PyZHgZ.shtml

相关文章

用CNN识别CT图像检测肺癌

用CNN识别CT图像检测肺癌 原文:2nd place solution for the 2017 national datascience bowl 翻译参考:知乎用户王小新 Kaggle百万美元大赛优胜者:用CNN识别CT图像检测肺癌 概要 本文为2017年由Kaggle举办的数据科学竞赛的第二名获奖者Juli…

机场航拍图像检测软件(Python+YOLOv5深度学习模型+清新界面)

摘要:机场航拍图像检测软件使用深度学习技术检测机场航拍图像中的飞机目标等,识别航拍目标等结果并记录和保存,辅助机场智能管理运行。在介绍算法原理的同时,给出Python的实现代码、训练数据集,以及PyQt的UI界面。机场…

半监督学习+3D医疗图像检测 FocalMix

目录 Abstract 1.Contributions Introduction 2. Background and Preliminaries背景和准备工作 2.1.1 Anchor boxes 2.1.2 Focal Loss 2.2. Semi-supervised Learning 3. Methodology 3.1. Soft-target Focal Loss 3.2. Anchor-level Target Prediction 3.3. MixUp A…

检测 图像中得直线

Radon 变换 介绍 图像投影,就是说将图像在某一方向上做线性积分(或理解为累加求和)。如果将图像看成二维函数f(x, y),则其投影就是在特定方向上的线性积分,比如f(x, y)在垂直方向上的线性积分就是其在x轴上的投影&…

遥感图像目标检测研究综述

遥感图像目标检测 遥感图像特殊性一、目标检测研究综述1.介绍2.传统目标检测3.基于深度学习目标检测R-CNN系列为代表的两阶段算法YOLO、SSD为代表的一阶段算法 二、多尺度目标检测研究综述1.基于图像金字塔的多尺度目标检测基于尺度生成网络的图像金字塔基于尺度归一化的图像金…

工业自动化流水线上的机器视觉检测应用 (二):图像检测

图像检测是用机器代替人眼来做测量和判断,使用工业相机等机器视觉产品将被检测的目标转换成图像信号,传送给专用的图像处理系统,根据像素分布和亮度、颜色等信息,转变成数字化信号,图像处理系统等通过分析这些信号进行…

基于卷积神经网络的多目标图像检测研究(一)

摘 要 目标检测任务简单来说是在图片或视频中指出多个特定目标并以方框形式给出这些物体在图片中的位置和大小。它与我们的生活密切相关,它被广泛应用于安全识别、无人驾驶、医疗诊断、图像检索等领域,并且未来将愈发重要。因此目标检测也是近年来机器学…

图像检测系列之(12)异常检测(13)拼接伪造(14)deepfake | ICCV2021生成对抗GAN汇总梳理...

(1)GAN改进系列 | 最新ICCV2021生成对抗网络GAN论文梳理汇总图像编辑系列之(2)基于StyleGAN(3)GAN逆映射(4)人脸 (5)语义生成 | ICCV2021生成对抗GAN梳理汇总…

文章摘要 如何使用CLIP做图像检测 RegionCLIP:基于区域的文本-图像预训

摘要:使用图像-文本对的对比语言图像预训练模型(CLIP)在零样本和迁移学习环境下的图像分类方面都取得了令人印象深刻的结果。但直接应用CLIP模型识别图像区域进行对象检测效果并不好,这是因为CLIP被训练为将图像作为一个整体与文本…

图像检测之抽烟检测与打电话检测

识别司机是否抽烟和是否打电话的图像算法,通过深度学习实现,其中用到了一些opencv的知识,效果图如下: 相关技术资料请见本人其它博客文章

图像检测技术的研究现状

图像检测技术的研究现状 技术检测 图像处理知识库 2016-01-08 19:59 图像检测技术的研究现状 所谓图像检测,就是通过图像对感兴趣的特征区域(检测目标)进行提取的过程,其中图像是承载检测目标的载体,检测目标需要事先…

YOLT遥感图像检测算法详解

You Only Look Twice: Rapid Multi-Scale Object Detection InSatellite Imagery-论文链接-代码链接 目录 1、需求解读2、遥感图像处理和普通图像处理的区别与联系3、YOLT检测算法分析3.1 遥感图像中的视觉挑战3.2 YOLT检测算法简介 4、YOLT检测算法实现详解4.1 YOLT检测算法网…

opencv 简单的图像检测,识别,标注,

2022/4/19 刚刚做了个升级版,就是第二种读取文件的方式,另外分函数写了 链接: python opencv 简单图像识别,标注 [升级版]_死非死的…

医学图像3D目标检测

医学图像3D目标检测 论文:3D Bounding Box Detection in Volumetric Medical Image Data: A Systematic Literature Review 这篇论文综述了近五年在三维医学数据中进行3D Bouding Box Detection的方法。 1、论文背景 VOI的提取是重要的预处理步骤,例如…

图像检测常用评价指标与数据集

评价指标 1.准确率(Accuracy) 检测时分对的样本数除以所有的样本数。准确率一般被用来评估检测模型的全局准确程度,包含的信息有限,不能完全评价一个模型性能。 2.混淆矩阵(Confusion Matrix) 混淆矩阵是以模型预测的类别数量统计信息为横轴&#xff0c…

基于Yolov5的医学图像检测

yolov5医学图像检测练手项目: 数据集分布如下: 5S改进检测结果如下,可加入注意力机制、多尺度等技术提升检测精度 专注于各个行业的落地应用,如工业检测、医学图像检测等;

图像边缘检测

文章目录 1. 什么是边缘检测2 边缘检测的常用方法及Python应用2.1 一阶微分算子2.1.1 Roberts算子2.1.2 Prewitt算子2.1.3 Sobel算子 2.2 二阶微分算子2.2.1 Laplacian算子2.2.2 Canny算子 3. 源码仓库地址 1. 什么是边缘检测 边缘检测是图像处理与计算机视觉中的重要技术之一…

图像检测:图像分类

图像分类 判断图片中是否有某个物体,一个图对应一个标签 卷积神经网络(CNN) 网络进化: 网络: AlexNet→VGG→GoogLeNet→ResNet 深度: 8→19→22→152 VGG结构简洁有效: 容易修改,迁移到其…

相似图像的检测方法

背景 以图搜图,是日常生活中我们经常会用到,例如在选购一款商品时,想要对比价格,往往会在各个购物app上通过搜图的形式来看同一款产品的价格;当你碰到某种不认识的植物时,也可以通过以图搜图的方式来获取该…

图像检测

图像中的目标检测涉及识别各种子图像并且围绕每个识别的子图像周围绘制一个边界框。 不需要判断是什么类型,后面可以做图像识别 经典网络: 图像分类的深度学习工具是区域卷积神经网络(R-CNN) 第一阶段:R-CNN->S…