基本信息

来源摘要/节选

公开展示已截断至最多 800 个字符;请访问原始来源查看完整上下文。

本节来看一个利用传统计算机视觉方法来实现图片边缘检测的方法。 什么是边缘检测? 边缘检测是通过一些算法来识别图像中物体之间或者物体与背景之间的边界,也就是边缘。 图像边缘通常是图像中灰度变化显著的地方,标志着不同区域的分界线。 在一张图像中,边缘可以是物体的实际边界,也可以是纹理、颜色或亮度等特征变化比较明显的位置。 边缘检测有助于提取图像的结构信息,是许多计算机视觉和图像处理任务的基础,例如物体识别、图像分割和目标跟踪。 比如下面这张图片,我用红笔粗略的画出了一些物体的边缘,猫耳朵和背景很明显的边缘,椅子和背景以及椅子和猫咪的边缘等。 常见的边缘检测算法 实现图片的边缘检测的算法有很多,常见的边缘检测算法包括: Sobel算子: 通过卷积图像和Sobel核,检测图像中的垂直和水平边缘。 Prewitt算子: 类似于Sobel,也是一种常用的边缘检测方法。 Canny边缘检测: 结合了多个步骤,包括高斯平滑、梯度计算和非极大值抑制,是一种广泛使用的边缘检测算法。 Laplacian算子: 通过对图像进行拉普拉斯运算,突出图像中的边缘。 基于机器学习的方法: 利用深度学习中的卷积神经网络(CNN)等技术,可以学习图像中的特征,进而进行边缘检测。 以上几种算法是常见的边缘检测算法,感兴趣的话可以深入研究,这里不详细说明每个算法的原理,但大致都是类似的过程—— 通过一个类似于前文讲述的高斯滤波的滤波器窗口,来对图像像素值进行运算,得到像素突变的地方,以此作为边缘。 只不过这些窗口中的数值是经过精心计算和设计的,使得这些专业的算法(比如Canny算法)对边缘检测更为有效。 利用 Canny 算子对图像进行边缘检测 下面使用 opencv 库中的 Canny 函数,也就是Canny 算子来完成边缘检测。…

来源说明

当前只保存了公开页面节选,不代表原文全文。请以原始来源为准。

本页只呈现已做哈希绑定的来源证据,不包含基于旧正文或缺失原文的扩展推断。