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

【图像处理】1、使用OpenCV库图像轮廓的检测和绘制

OpenCV (Open Source Computer Vision Library) 是一个用于计算机视觉和图像处理的开源库。它提供了数百种用于图像和视频分析的算法,并被广泛应用于研究和商业领域。OpenCV 支持多种编程语言,包括 C++、Python、Java 等,具有跨平台的特性,可以在 Windows、Linux、macOS 和 Android 等操作系统上运行。

安装OpenCV库

你可以使用以下命令安装OpenCV库:

pip install opencv-python
import cv2
import numpy as np
from matplotlib import pyplot as plt# 读取图像并转换为灰度图像
image = cv2.imread('path_to_image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 应用阈值
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)# 检测轮廓
contours, _ = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)# 在原始图像上绘制轮廓
cv2.drawContours(image, contours, -1, (0, 255, 0), 3)# 显示结果
plt.imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))
plt.title('Contours')
plt.show()

代码说明:

  1. 读取图像:使用 cv2.imread() 读取图像并转换为灰度图像。请将 'path_to_image.jpg' 替换为你要处理的图像的实际路径。
  2. 应用阈值:使用 cv2.threshold() 将灰度图像转换为二值图像。
  3. 检测轮廓:使用 cv2.findContours() 从二值图像中检测轮廓。
  4. 绘制轮廓:使用 cv2.drawContours() 在原始图像上绘制检测到的轮廓。
  5. 显示结果:使用 matplotlib.pyplot 显示结果图像。
http://www.lryc.cn/news/386303.html

相关文章:

  • 【AI编译器】triton学习:矩阵乘优化
  • 动静分离网络
  • Python商务数据分析知识专栏(三)——Python数据分析的应用①Matplotlib数据可视化基础
  • DataV大屏组件库
  • paraview跨节点并行渲染
  • Java中相等比较详解
  • HBuilder X 小白日记01
  • 使用Protocol Buffers优化数据传输
  • 如何把mkv转成mp4?介绍一下将mkv转成MP4的几种方法
  • PHP语言学习02
  • PX2资料及问题记录
  • Jenkins容器的部署
  • QT 自绘树形控件
  • axios之CancelToken取消请求
  • Unity | API鉴权用到的函数汇总
  • 【python】socket通信代码解析
  • FastGPT 手动部署错误:MongooseServerSelectionError: getaddrinfo EAI_AGAIN mongo
  • 用英文介绍芝加哥(1):Making Modern Chicago Part 1 Building a Boomtown
  • 【启明智显分享】低成本RISC-V工业级HMI方案推荐
  • 深入探索STM32的SPI功能:W25Q64 Flash存储器全攻略
  • 【SQL Server数据库】带函数查询和综合查询(1)
  • 使用WebService接口进行数据通信
  • AI进阶指南第五课,大模型相关概念(知识库,微调)
  • 【深度学习基础】`view` 和 `reshape` 的参数详解
  • 【笔记】Spring Cloud Gateway 实现 gRPC 代理
  • 云顶之弈数据网站
  • Linux(Ubuntu)下源码开发整个流程完成版本(下载->编译->模拟器运行)
  • el-form表单实现校验
  • 一台TrinityCore服务器客户端连接网速慢(未解决)
  • [系统运维|Xshell]宿主机无法连接上NAT网络下的虚拟机进行维护?主机ping不通NAT网络下的虚拟机,虚拟机ping的通主机!解决办法