【计算机视觉(6)】边缘与直线检测基础篇:从Canny到Hough变换

如何让小智AI成为你的第二大脑——“免费”送小智AI智能音箱征文活动 10w+人浏览 234人参与

AI助手已提取文章相关产品:

文章目录

📌 适合对象:计算机视觉初学者、图像处理入门者
⏱️ 预计阅读时间:40-50分钟
🎯 学习目标:理解边缘检测和直线检测的基本原理,掌握Canny边缘检测器、RANSAC和Hough变换


📚 学习路线图

理解边缘
是什么
学习Canny
边缘检测器
理解直线检测
与边缘的区别
学习RANSAC
直线检测
学习Hough
变换
应用实践
结构特征提取

本文内容一览(快速理解)

  1. 边缘(Edges):图像中像素值发生剧烈变化的地方
  2. Canny边缘检测器(Canny Edge Detector):经典的边缘检测算法,包含梯度计算、非极大值抑制和滞后阈值
  3. 直线检测(Line Detection):检测图像中的直线结构,不同于边缘检测
  4. RANSAC直线检测(RANSAC for Line Detection):通过随机采样找到支持最多的直线
  5. Hough变换(Hough Transform):通过投票机制检测直线和其他几何形状

一、什么是边缘(Edges):理解图像中像素值剧烈变化的地方

这一章要建立的基础:理解边缘的概念和类型

核心问题:什么是边缘?边缘有哪些类型?


[!NOTE]
📝 关键点总结:边缘是图像中像素值发生剧烈变化的地方。边缘有多种类型:遮挡边界、表面方向变化、接触边缘、阴影边界等。

1.1 边缘的定义(What are Edges):图像中像素值发生剧烈变化的地方

概念的本质

边缘是图像中像素值发生剧烈变化的地方。就像画中的轮廓线,边缘标记了不同区域之间的边界。边缘检测是图像处理的基础操作,用于提取图像的结构信息。

图解说明

图像
计算梯度
像素值变化率
边缘
变化大的地方
水平方向梯度
检测垂直边缘
垂直方向梯度
检测水平边缘

💡 说明:边缘可以通过计算图像的梯度来检测。梯度反映了像素值变化的快慢,梯度大的地方就是边缘。

类比理解

想象你在看一幅画,画中有物体的轮廓。边缘就像这些轮廓线,标记了不同区域之间的边界。就像用笔沿着轮廓描边,边缘就是像素值变化最大的地方。

实际例子

边缘的例子:
- 物体的轮廓:物体与背景的边界
- 阴影边界:光照变化产生的边界
- 纹理边界:不同纹理区域的边界
- 遮挡边界:物体之间的遮挡边界

边缘的应用:
- 图像分割:将图像分成不同区域
- 物体检测:检测物体的轮廓
- 特征提取:提取图像的结构特征
- 三维重建:从边缘重建三维结构

 


1.2 边缘的类型(Edge Classification):遮挡、表面方向变化、接触边缘、阴影边界

概念的本质

边缘有多种类型,每种类型对应不同的物理原因。理解边缘类型有助于更好地处理和分析图像。

图解说明

边缘类型
遮挡边界
Occlusion
表面方向变化
Surface Orientation
接触边缘
Contact Edge
阴影边界
Shadow Boundary
物体相互遮挡
物体表面方向改变
两个物体接触
光照产生的阴影

💡 说明

  • 遮挡边界:一个物体遮挡另一个物体产生的边界
  • 表面方向变化:物体表面方向改变产生的边界
  • 接触边缘:两个物体接触产生的边界
  • 阴影边界:光照产生的阴影边界(可能较软,过渡缓慢)

类比理解

想象你在看一幅画,画中有多个物体。边缘类型就像:

  • 遮挡边界:前面的物体遮挡后面的物体
  • 表面方向变化:物体的表面从正面转向侧面
  • 接触边缘:两个物体接触的地方
  • 阴影边界:光照产生的阴影边缘

实际例子

边缘类型的实际应用:
- 遮挡边界:用于物体检测和分割
- 表面方向变化:用于三维重建
- 接触边缘:用于物体识别
- 阴影边界:需要特殊处理(过渡较软)

处理边缘的挑战:
- 阴影边界:过渡较软,难以检测
- 噪声:可能产生虚假边缘
- 模糊:边缘可能不清晰
- 需要鲁棒的边缘检测算法

 


二、Canny边缘检测器(Canny Edge Detector):经典的边缘检测算法

这一章要建立的基础:理解Canny边缘检测器的原理和实现

核心问题:如何检测图像中的边缘?如何得到清晰、准确的边缘?


[!NOTE]
📝 关键点总结:Canny边缘检测器包含四个步骤:高斯滤波、梯度计算、非极大值抑制和滞后阈值。它能够检测到清晰、准确的边缘。

2.1 Canny检测器的步骤(Canny Detector Steps):高斯滤波→梯度计算→非极大值抑制→滞后阈值

概念的本质

Canny边缘检测器是一个多步骤的算法,通过逐步处理得到清晰、准确的边缘。每个步骤都有特定的作用,共同实现高质量的边缘检测。

图解说明

原始图像
高斯滤波
去噪
计算梯度
magnitude和orientation
非极大值抑制
细化边缘
滞后阈值
连接边缘
Canny边缘

💡 说明

  • 高斯滤波:去除噪声,平滑图像
  • 梯度计算:计算梯度幅度和方向
  • 非极大值抑制:将宽边缘细化到单像素宽度
  • 滞后阈值:使用两个阈值连接边缘,去除断点

类比理解

想象你在用笔描一幅画的轮廓。Canny检测器就像:

  1. 高斯滤波:先清理画面,去除污渍(噪声)
  2. 梯度计算:找出轮廓线的方向和强度
  3. 非极大值抑制:将粗线条细化到单像素宽度
  4. 滞后阈值:连接断开的线条,得到完整的轮廓

实际例子

Canny检测器的优势:
1. 低错误率:尽可能少地检测到虚假边缘
2. 定位准确:检测到的边缘位置准确
3. 单像素宽度:边缘是单像素宽度,便于后续处理
4. 鲁棒性:对噪声和光照变化鲁棒

实际应用:
- 图像分割:将图像分成不同区域
- 物体检测:检测物体的轮廓
- 特征提取:提取图像的结构特征
- 三维重建:从边缘重建三维结构

 


2.2 图像梯度计算(Computing Image Gradients):计算像素值的变化率和方向

概念的本质

图像梯度反映了像素值变化的快慢和方向。梯度幅度表示变化的强度,梯度方向表示变化的方向。边缘就是梯度幅度大的地方。

图解说明

图像f(x,y)
水平梯度
∂f/∂x
垂直梯度
∂f/∂y
梯度幅度
|∇f|
梯度方向
θ

💡 说明

  • 水平梯度:反映水平方向的变化
  • 垂直梯度:反映垂直方向的变化
  • 梯度幅度:变化的强度,边缘强度
  • 梯度方向:变化的方向,边缘方向

类比理解

想象你在看一幅画,画中有物体的轮廓。图像梯度就像:

  • 梯度幅度:轮廓线的清晰程度(越清晰,梯度越大)
  • 梯度方向:轮廓线的方向(如水平、垂直、斜向)

实际例子

梯度计算的方法:
- 使用简单的差分滤波器:[-1, 0, 1]
- 使用Sobel算子:更平滑的梯度计算
- 结合高斯滤波:先平滑再计算梯度

梯度滤波器的选择:
- 简单差分:计算快,但噪声敏感
- Sobel算子:更平滑,噪声鲁棒
- 高斯导数:最平滑,但计算较慢

实际应用:
- 边缘检测:梯度幅度大的地方是边缘
- 特征提取:梯度方向用于特征描述
- 图像增强:增强梯度突出边缘

 


2.3 非极大值抑制(Non-Maximum Suppression):将宽边缘细化到单像素宽度

概念的本质

非极大值抑制是将宽边缘细化到单像素宽度的过程。它只保留梯度幅度在梯度方向上的局部最大值,去除其他点,得到细化的边缘。

图解说明

梯度幅度
宽边缘
非极大值抑制
只保留局部最大值
细化边缘
单像素宽度

💡 说明:非极大值抑制只保留梯度方向上的局部最大值,去除其他点。这样可以将宽边缘细化到单像素宽度。

类比理解

想象你在用笔描一幅画的轮廓,但轮廓线很粗。非极大值抑制就像将粗线条细化到单像素宽度,只保留轮廓线的中心,去除两侧的点。

实际例子

非极大值抑制的步骤:
1. 对于每个像素,检查梯度方向
2. 在梯度方向上比较相邻像素的梯度幅度
3. 如果当前像素不是局部最大值,则抑制(设为0)
4. 只保留局部最大值,得到细化的边缘

非极大值抑制的效果:
- 将宽边缘细化到单像素宽度
- 提高边缘的清晰度
- 便于后续处理(如边缘连接)

实际应用:
- Canny边缘检测:非极大值抑制是Canny的关键步骤
- 特征提取:细化边缘用于特征提取
- 图像分割:细化边缘用于图像分割

 


2.4 滞后阈值(Hysteresis Thresholding):使用两个阈值连接边缘

概念的本质

滞后阈值使用两个阈值(高阈值和低阈值)来处理边缘。高阈值用于开始边缘曲线,低阈值用于继续边缘曲线。这样可以连接断开的边缘,同时去除弱边缘。

图解说明

细化边缘
高阈值
τ_high
低阈值
τ_low
开始边缘
曲线
继续边缘
曲线
完整边缘

💡 说明

  • 高阈值:梯度幅度大于高阈值的点,作为边缘的起点
  • 低阈值:梯度幅度大于低阈值但小于高阈值的点,如果与高阈值点连接,也作为边缘
  • 连接边缘:通过连接高阈值点和低阈值点,得到完整的边缘

类比理解

想象你在用笔描一幅画的轮廓,但轮廓线有断点。滞后阈值就像:

  • 高阈值点:轮廓线的主要部分(清晰、肯定)
  • 低阈值点:轮廓线的次要部分(模糊、不确定)
  • 连接:如果低阈值点与高阈值点连接,也作为轮廓的一部分

实际例子

滞后阈值的步骤:
1. 设置两个阈值:高阈值τ_high和低阈值τ_low
2. 梯度幅度 > τ_high:设为255(边缘)
3. 梯度幅度 < τ_low:设为0(非边缘)
4. τ_low < 梯度幅度 < τ_high:如果8邻域中有τ_high点,设为255;否则设为0

滞后阈值的优势:
- 连接断开的边缘:通过低阈值连接断点
- 去除弱边缘:只保留与强边缘连接的弱边缘
- 提高边缘的完整性:得到更完整的边缘

实际应用:
- Canny边缘检测:滞后阈值是Canny的关键步骤
- 边缘连接:连接断开的边缘
- 噪声去除:去除孤立的弱边缘

 


三、直线检测(Line Detection):检测图像中的直线结构

这一章要建立的基础:理解直线检测与边缘检测的区别

核心问题:如何检测图像中的直线?直线检测与边缘检测有什么不同?


[!NOTE]
📝 关键点总结:直线检测不同于边缘检测。边缘是局部属性,直线是结构属性。直线检测需要检测长而直的线条,对遮挡、噪声、尺度等鲁棒。

3.1 直线检测与边缘检测的区别(Line Detection vs Edge Detection):局部属性 vs 结构属性

概念的本质

直线检测和边缘检测是不同的任务。边缘检测关注局部属性(像素值变化),直线检测关注结构属性(长而直的线条)。直线检测需要检测完整的直线结构,而不仅仅是边缘点。

图解说明

图像
边缘检测
局部属性
直线检测
结构属性
检测边缘点
像素值变化
检测直线
长而直的结构

💡 说明

  • 边缘检测:检测局部属性,关注像素值变化
  • 直线检测:检测结构属性,关注长而直的线条
  • 区别:边缘是小的、局部的,直线是大的、结构的

类比理解

想象你在看一幅画:

  • 边缘检测:就像找出画中所有物体的轮廓线(局部、小尺度)
  • 直线检测:就像找出画中的主要直线结构(如建筑物的边缘、道路的线条)(结构、大尺度)

实际例子

直线检测的理想特性:
- 只检测长而直的线条
- 尽可能少地漏检或误检
- 对遮挡、噪声、尺度、旋转、平移等鲁棒
- 提供每个像素的置信度
- 计算高效

直线检测的应用:
- 去除径向畸变:检测直线来校正畸变
- 相机姿态估计:从直线估计相机姿态
- 图像分割:使用直线分割图像
- 场景分类:使用直线特征分类场景
- 物体检测:检测直线结构来检测物体

 


3.2 结构特征检测(Structure Detection):提取图像中的结构特征

概念的本质

结构特征检测是提取图像中结构特征的过程。这些特征包括直线、平行线、对称线、梯形、圆形、椭圆等。结构特征检测有助于理解图像的结构信息。

图解说明

图像
结构特征
直线
Straight Lines
平行线
Parallel Lines
对称线
Symmetric Lines
圆形
Circles
椭圆
Ellipses

💡 说明:结构特征包括直线、平行线、对称线、梯形、圆形、椭圆等。这些特征反映了图像的结构信息。

类比理解

想象你在看一幅画,画中有建筑物的结构。结构特征检测就像找出画中的主要结构:

  • 直线:建筑物的边缘、道路的线条
  • 平行线:建筑物的平行边缘
  • 对称线:对称物体的对称轴
  • 圆形:圆形物体(如车轮、圆形窗户)
  • 椭圆:椭圆物体(如倾斜的圆形)

实际例子

结构特征的类型:
- 直线:长而直的线条
- 平行线:相互平行的线条
- 对称线:对称物体的对称轴
- 梯形:梯形的四条边
- 单色区域:相同颜色的区域
- 圆形:圆形物体
- 椭圆:椭圆物体
- 对称性:颜色和纹理的对称性

结构检测算法:
- 直线检测:RANSAC、Hough变换
- 圆形检测:RANSAC、Hough变换
- 对称性检测:对称性检测算法

实际应用:
- 图像理解:理解图像的结构
- 物体识别:通过结构特征识别物体
- 场景分析:分析场景的结构
- 三维重建:从结构特征重建三维结构

 


四、RANSAC直线检测(RANSAC for Line Detection):通过随机采样找到支持最多的直线

这一章要建立的基础:理解RANSAC算法的原理和应用

核心问题:如何从边缘点中找到直线?如何去除噪声和误匹配?


[!NOTE]
📝 关键点总结:RANSAC通过随机采样少量点,估计直线模型,然后找到支持这个模型的点。重复这个过程,选择支持最多的直线模型。

4.1 RANSAC的基本思想(RANSAC Basics):随机采样一致性算法

概念的本质

RANSAC(Random Sample Consensus)是一种鲁棒的估计算法。它通过随机采样少量点,估计模型(如直线),然后找到支持这个模型的点。重复这个过程,选择支持最多的模型。

图解说明

边缘点
随机采样
选择点p
估计直线L
通过p
计算支持
支持L的点数
重复N次
选择支持最多
的直线L*

💡 说明

  • 随机采样:随机选择一个点p(或两个点)
  • 估计模型:用这个点估计直线L
  • 计算支持:计算有多少点支持这个直线L
  • 重复:重复N次,选择支持最多的直线L*

类比理解

想象你在投票选举。RANSAC就像:

  1. 随机采样:随机选择几个人投票
  2. 估计结果:根据这几个人的投票估计选举结果
  3. 计算支持:看看有多少人支持这个结果
  4. 重复:重复多次,选择支持最多的结果
  5. 得到结果:支持最终结果的点就是"一致对应"(inliers)

实际例子

RANSAC直线检测的步骤:
1. 计算梯度方向N和幅度G
2. 随机选择一个像素p
3. 选择一条通过p的直线L(使用p的梯度方向)
4. 计算有多少其他像素"支持"L(梯度方向与L垂直)
5. 重复N次,选择支持最多的直线L*

支持的计算:
- 对于每个像素q,计算梯度方向N(q)
- 如果N(q)与L垂直(或接近垂直),则q支持L
- 支持度 = Σ G(q) |N(p)·N(q)|

RANSAC的优势:
- 对噪声鲁棒:即使有很多噪声点,也能找到正确直线
- 对遮挡鲁棒:即使直线被遮挡,也能检测到
- 不需要先去除噪声:直接从数据中找到正确模型

 


4.2 RANSAC的变体(RANSAC Variants):不同的采样和模型估计方法

概念的本质

RANSAC有多种变体,可以通过不同的方式选择直线和计算支持。不同的变体有不同的优缺点,需要根据应用场景选择。

图解说明

RANSAC变体
选择直线L
计算支持
通过点和梯度方向
通过点和角度
通过两个点
通过三个点
Σ G(q) |N(p)·N(q)|
优化L拟合inliers

💡 说明

  • 选择直线的方法:可以通过点和梯度方向、点和角度、两个点、三个点等
  • 计算支持的方法:可以计算梯度加权和、优化直线拟合inliers等

类比理解

想象你在寻找一条直线。RANSAC的变体就像不同的寻找方法:

  • 通过点和梯度方向:知道一个点和方向,确定直线
  • 通过两个点:知道两个点,确定直线
  • 通过三个点:知道三个点,确定直线(更稳定)

实际例子

RANSAC变体的选择:
- 通过点和梯度方向:简单,但需要梯度信息
- 通过点和角度:灵活,可以指定角度
- 通过两个点:简单,但需要两个点都在直线上
- 通过三个点:更稳定,但需要更多点

计算支持的方法:
- Σ G(q) |N(p)·N(q)|:梯度加权和,考虑梯度幅度
- 优化L拟合inliers:优化直线以更好地拟合支持点

实际应用:
- 根据应用场景选择合适的变体
- 对于噪声较大的图像,使用更稳定的变体
- 对于实时应用,使用计算更快的变体

 


五、Hough变换(Hough Transform):通过投票机制检测直线

这一章要建立的基础:理解Hough变换的原理和应用

核心问题:如何通过投票机制检测直线?Hough变换与RANSAC有什么不同?


[!NOTE]
📝 关键点总结:Hough变换通过将图像空间映射到参数空间,让每个点对可能的直线参数投票,然后找到投票最多的参数,对应图像中的直线。

5.1 Hough变换的基本思想(Hough Transform Basics):图像空间到参数空间的映射

概念的本质

Hough变换将图像空间映射到参数空间。图像中的一条直线对应参数空间中的一个点,图像中的一个点对应参数空间中的一条曲线。通过投票机制,找到参数空间中投票最多的点,对应图像中的直线。

图解说明

图像空间
一条直线
参数空间
一个点
图像空间
一个点
参数空间
一条曲线
多个点投票
参数空间
投票最多的点
图像空间
对应的直线

💡 说明

  • 图像空间到参数空间:图像中的直线对应参数空间中的点
  • 投票机制:图像中的每个点对可能的直线参数投票
  • 找到直线:参数空间中投票最多的点对应图像中的直线

类比理解

想象你在投票选举。Hough变换就像:

  • 图像空间:投票的人(图像中的点)
  • 参数空间:候选者(可能的直线)
  • 投票:每个人对可能的候选者投票
  • 找到获胜者:投票最多的候选者就是图像中的直线

实际例子

Hough变换的步骤:
1. 初始化参数空间(Hough空间)的所有bin为0
2. 对于每个边缘点p:
   - 对所有可能的直线参数投票
   - 增加对应bin的值
3. 找到参数空间中投票最多的bin
4. 对应的直线参数就是图像中的直线

参数空间的表示:
- (m, b)空间:y = mx + b,但m和b无界
- (ρ, θ)空间:ρ = x cos θ + y sin θ,更常用
  - ρ:原点到直线的距离
  - θ:直线的角度

实际应用:
- 直线检测:检测图像中的直线
- 圆形检测:检测图像中的圆形
- 其他形状:检测椭圆、抛物线等

 


5.2 Hough变换的参数化(Hough Transform Parameterization):(m,b)空间 vs (ρ,θ)空间

概念的本质

Hough变换可以使用不同的参数化方法。常用的有(m,b)空间和(ρ,θ)空间。(m,b)空间简单但无界,(ρ,θ)空间有界且更常用。

图解说明

直线参数化
(m,b)空间
y = mx + b
(ρ,θ)空间
ρ = x cos θ + y sin θ
问题:
m和b无界
优势:
ρ和θ有界

💡 说明

  • (m,b)空间:y = mx + b,m是斜率,b是截距。但m和b无界,难以表示垂直直线
  • (ρ,θ)空间:ρ = x cos θ + y sin θ,ρ是原点到直线的距离,θ是直线的角度。ρ和θ有界,更常用

类比理解

想象你在描述一条直线:

  • (m,b)空间:就像说"斜率是m,截距是b",但对于垂直直线,斜率是无穷大,难以表示
  • (ρ,θ)空间:就像说"距离原点的距离是ρ,角度是θ",所有直线都能表示

实际例子

(ρ,θ)空间的优势:
- ρ有界:0 ≤ ρ ≤ 图像对角线长度
- θ有界:0 ≤ θ < 180度(或0 ≤ θ < 360度)
- 可以表示所有直线,包括垂直直线
- 采样均匀,便于实现

Hough变换的实现:
1. 初始化累加器H(θ, ρ)为0
2. 对于每个边缘点(x, y):
   - 对于所有θ在[0, 180]:
     - 计算ρ = x cos θ + y sin θ
     - H(θ, ρ) = H(θ, ρ) + 1
3. 找到H(θ, ρ)的局部最大值
4. 对应的(θ, ρ)就是检测到的直线

实际应用:
- 直线检测:检测图像中的直线
- 参数选择:选择合适的bin大小
- 精度优化:使用大bin + 细化提高精度

 


5.3 Hough变换的参数选择(Hough Transform Parameter Selection):bin大小的选择

概念的本质

Hough变换需要选择合适的bin大小。bin太小:对噪声敏感,性能差;bin太大:精度差,可能产生误检。通常使用大bin + 细化来提高精度。

图解说明

bin大小选择
bin太小
对噪声敏感
bin太大
精度差
大bin + 细化
平衡精度和鲁棒性

💡 说明

  • bin太小:对噪声敏感,性能差,可能漏检
  • bin太大:精度差,可能产生误检,不同直线可能合并
  • 大bin + 细化:先用大bin找到大致位置,再用细化(如最小二乘)提高精度

类比理解

想象你在投票选举,需要选择合适的投票箱大小:

  • bin太小:投票箱太小,容易出错,可能漏掉投票
  • bin太大:投票箱太大,不够精确,可能把不同候选者的投票混在一起
  • 大bin + 细化:先用大投票箱找到大致位置,再仔细统计提高精度

实际例子

bin大小选择的策略:
1. 大bin + 细化:
   - 先用大bin找到大致位置(鲁棒)
   - 再用最小二乘法细化(精确)
   - 平衡精度和鲁棒性

2. 自适应bin大小:
   - 根据图像大小和噪声水平调整bin大小
   - 对于噪声大的图像,使用较大的bin
   - 对于噪声小的图像,使用较小的bin

实际应用:
- 直线检测:选择合适的bin大小检测直线
- 圆形检测:选择合适的bin大小检测圆形
- 精度优化:使用细化提高检测精度

 


📝 本章总结

核心要点回顾

  1. 边缘检测

    • 边缘是图像中像素值发生剧烈变化的地方
    • Canny边缘检测器包含四个步骤:高斯滤波、梯度计算、非极大值抑制、滞后阈值
  2. 直线检测

    • 直线检测不同于边缘检测,关注结构属性
    • 需要检测长而直的线条,对遮挡、噪声等鲁棒
  3. RANSAC直线检测

    • 通过随机采样找到支持最多的直线
    • 对噪声和遮挡鲁棒
  4. Hough变换

    • 通过投票机制检测直线
    • 将图像空间映射到参数空间
    • 使用(ρ,θ)空间参数化
  5. 结构特征检测

    • 提取图像中的结构特征(直线、圆形、椭圆等)
    • 有助于理解图像的结构信息

知识地图

边缘与直线检测
边缘检测
直线检测
Canny检测器
梯度/非极大值抑制/滞后阈值
RANSAC
随机采样
Hough变换
投票机制
结构特征
直线/圆形/椭圆

关键决策点

  • 选择边缘检测器:Canny适合大多数应用
  • 选择直线检测方法:RANSAC适合噪声大的图像,Hough变换适合检测多条直线
  • 参数选择:根据应用场景选择合适的参数
  • 处理噪声:使用鲁棒的方法(如RANSAC)处理噪声
  • 精度优化:使用细化方法提高检测精度

📚 延伸阅读

推荐资源

  1. Szeliski’s Book: Computer Vision: Algorithms and Applications, Chapter 4.2、4.3

    • 详细的边缘检测和直线检测理论和实践
  2. 经典论文

    • Canny, J. “A Computational Approach to Edge Detection.” (1986)
    • Hough, P. “Machine Analysis of Bubble Chamber Pictures.” (1959)
  3. 实践项目

    • 实现Canny边缘检测器
    • 实现RANSAC直线检测
    • 实现Hough变换检测直线和圆形

本文基于PPT内容整理,适合初学者理解边缘检测和直线检测的基本概念和应用。如需深入了解数学原理和公式推导,请参考相关研究资料。

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值