当前位置: 首页 > news >正文

opencv学习记录4

Canny的实现

1.使用高斯滤波器,以平滑图像,滤除噪声

这一步的主要作用是去除噪声,因为噪声在边界识别上也属于高频信号,容易被识别为伪边缘。使用高斯模糊去除噪声,可降低伪边缘的识别;同时,高斯模糊的半径选择很重要,过大的半径很容易使一些弱边缘检测不到。
img

2.计算图中每个像素点的梯度强度和方向

此处使用Sobel算子计算梯度,近似计算为上下、左右、两个对角线,4个方向的梯度;
梯度方向角:θ=arctan(Gy/Gx)
梯度计算输出数据为二元数,包含梯度值与角度值,如(2,90)表示梯度值为2,方向为竖直向上;
根据梯度方向角的计算,梯度方向近似到上下、左右、两个对角线四个方向(考虑梯度正负,实则为8个方向)
img

3.应用非极大值抑制,以消除边缘检测带来的散杂相应

通常出来的梯度边缘不止一个像素宽,而是多个像素;而边缘检测的准则3要求,边缘只有一个精确的点的宽度。
非极大值抑制能帮助保留局部最大梯度,而抑制其他所有梯度值,这以为着只保留了梯度变化中最锐利的位置

方法1

img

方法2

img

4.应用双阈值检测来确定真实和潜在的边缘

img

dst=cv2.Canny(img,minVal,maxVal)

阈值过低会导致过多噪点被检测,阈值过高会导致部分弱边界无法检测
img

5.通过抑制孤立的弱边缘最终完成边缘检测

原理:弱边缘点有可能是真的边缘,也有可能是噪点或颜色变化引起的;该算法搜索所有联通的弱边缘,如果一条连通的弱边缘的任何一个点和强边缘联通,则保留这条弱边缘,否则抑制。

http://www.hskmm.com/?act=detail&tid=20697

相关文章:

  • 深入解析:Java-136 深入浅出 MySQL Spring Boot @Transactional 使用指南:事务传播、隔离级别与异常回滚策略
  • .NET操作Excel:高效材料读写与批量运行
  • Qwen-Image技术报告
  • IOS-和安卓-AR-游戏开发指南-全-
  • Winform/C# 输出到Release VS中Release模式下生成去掉生成pdb文件
  • 【OpenCV】12 图像轮廓
  • IntroJS-即时入门-全-
  • 数字设计的新篇章:前沿技术与未来趋势
  • 2025 镀锌方管厂家最新权威推荐排行榜:聚焦行业标杆与新锐品牌,镀锌方管优质厂家深度解析
  • mysql启动方式导致链接数max_connections查询的值不一致
  • cmakelist
  • 供应商协同平台:打造高效安全供应链的关键
  • 互斥锁和信号量机制
  • NSIS为当前用户安装和为所有用户安装的选择
  • 数据中台厂商选型|解决方案厂商与独立中台厂商详细解读
  • 深度学习项目全流程实践与核心技术解析:从数据处理到模型优化 - 教程
  • 直接使用的NLog帮助类
  • 【每日一面】setTimeout 延时为 0 的情况
  • AI元人文:悟空博弈框架
  • sway - wayland下截图方案
  • 不同网络间文件互传怎么实现?
  • sway wayland下 wps-office无法输入中文
  • 科学史笔记
  • Spring XML 设置简介
  • 2025 年真空泵品牌最新权威推荐排行榜:覆盖真空泵维修,真空泵机组,真空泵油,真空泵配件领域选择指南
  • 专业的跨网文件交换系统 和传统FTP/U盘拷贝有什么区别?
  • 0voice-2.1.4-http服务器的实现
  • CF *2600 思维题 2
  • 中低压配网设备介绍
  • vue3使用路由配置