python OpenCV 库中的 cv2.Canny() 函数来对图像进行边缘检测,并显示检测到的边缘特征

news/2024/7/8 16:01:44 标签: python
import cv2

# 加载图像
image = cv2.imread('4.png')

# 使用 Canny 边缘检测算法提取边缘特征
edges = cv2.Canny(image, 100, 200)

# 显示边缘特征
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

代码解析:

  1. 导入 OpenCV 库:
   import cv2
  1. 加载图像:
   image = cv2.imread('4.png')

这行代码使用 cv2.imread() 函数加载名为 "4.png" 的图像文件。

  1. 使用 Canny 边缘检测算法:
   edges = cv2.Canny(image, 100, 200)

cv2.Canny() 函数是 OpenCV 中常用的边缘检测算法。它接受两个参数:

  • image: 要进行边缘检测的图像。
  • threshold1: 低阈值。
  • threshold2: 高阈值。

Canny 算法使用这两个阈值来过滤边缘特征。低于低阈值的边缘特征会被忽略,高于高阈值的边缘特征会被保留。介于两个阈值之间的边缘特征则根据其连接情况来判断是否保留。

  1. 显示边缘特征:
   cv2.imshow('Edges', edges)
   cv2.waitKey(0)
   cv2.destroyAllWindows()
  • cv2.imshow() 函数用于显示图像。第一个参数是窗口的名称,第二个参数是图像数据。
  • cv2.waitKey(0) 函数用于等待用户按下任何键。
  • cv2.destroyAllWindows() 函数用于关闭所有窗口。

代码运行结果:

运行这段代码后,会弹出一个窗口,显示 "4.png" 图像的边缘特征。

一些建议:

  • 你可以调整 threshold1 和 threshold2 的值来控制边缘检测的敏感度。
  • 如果图像中存在噪声,可以使用 cv2.GaussianBlur() 函数对图像进行模糊处理,以减少噪声的影响。
  • 你可以使用 cv2.findContours() 函数来查找图像中的轮廓,并使用 cv2.drawContours() 函数在图像上绘制轮廓。

http://www.niftyadmin.cn/n/5537343.html

相关文章

#商铺出租数据#2024年6月北上广深成渝对比情况

#商铺出租数据#2024年6月北上广深成渝对比情况: 根据某8平台不完全样本统计,北上广深成渝商铺每平米月租金从高到低依次为 北京218.7元、上海212.1元、深圳159.3元、广州145.8元、成都138.6元、重庆104.1元。 地区 区县 日期 类型 数值 上海 全城 202…

创新引领,构筑产业新高地

在数字经济的浪潮中,成都树莓集团以创新驱动为核心,通过整合行业资源、优化服务、培养数字产业人才等措施,致力于打造产业高地,推动地方经济的高质量发展。 一、创新驱动,引领产业发展 1、引入新技术、新模式&#xf…

CISAW证书考完有什么用?值得投资吗?

CISAW证书,在信息安全领域内被公认为具有高价值的一种职业资格认证,它象征着持有者在该领域的专业技能和知识水平。 因此,CISAW证书不仅具有实质性的价值,还能为持有者带来诸多益处。 首先,拥有CISAW证书的专业人士更…

MySQL 基本语法讲解及示例(下)

第六节:如何检索资料 在本节中,我们将介绍如何使用SQL语句检索数据库中的资料,具体包括选择特定列、排序、条件过滤以及组合排序等操作。我们以一个名为student的表格为例,演示不同的检索方法。 初始表格 student student_idname…

创建react的脚手架

Create React App 中文文档 (bootcss.com) 网址:creat-react-app.bootcss.com 主流的脚手架:creat-react-app 创建脚手架的方法: 方法一(JS默认): 1. npx create-react-app my-app 2. cd my-app 3. …

模拟面试001-Java开发工程师+简历+问题+回答

模拟面试001-Java开发工程师简历问题回答 目录 模拟面试001-Java开发工程师简历问题回答面试简历面试官题问求职者回答1. 关于Java编程和技术栈2. 关于XX在线购物平台项目3. 关于XX企业资源规划系统项目4. 团队协作与项目管理5. 个人发展与职业规划 参考资料 面试简历 **个人信…

探索IT世界的第一步:高考后的暑期学习指南

目录 前言1. IT领域概述1.1 IT领域的发展与现状1.2 IT领域的主要分支1.2.1 软件开发1.2.2 数据科学1.2.3 网络与安全1.2.4 系统与运维 2. 学习路线图2.1 基础知识的学习2.1.1 编程语言2.1.2 数据结构与算法 2.2 实战项目的实践2.2.1 个人项目2.2.2 团队项目 2.3 学习资源的利用…

Redis 高级数据结构业务实践

0、前言 本文所有代码可见 > 【gitee code demo】 本文会涉及 hyperloglog 、GEO、bitmap、布隆过滤器的介绍和业务实践 1、HyperLogLog 1.1、功能 基数统计(去重) 1.2、redis api 命令作用案例PFADD key element [element ...]添加元素到keyPF…