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

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

安装OpenCV库

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

python 复制代码
pip install opencv-python
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 显示结果图像。
相关推荐
Sammyyyyy12 分钟前
Google I/O 2026 Antigravity 更新解析与 SDK 实战指南
python·ai编程·servbay
程序员正茂18 分钟前
EasyAR使用OpenCV下USB摄像头作为自定义相机
opencv·unity·easyar
_李小白24 分钟前
【android opencv学习笔记】Day 31:提取轮廓之Canny算法
android·opencv·学习
嫂子的姐夫34 分钟前
047-MD5:飞卢网
爬虫·python·js逆向·逆向
DXM052139 分钟前
第8期| 传统机器学习遥感解译:SVM & 随机森林分类全流程实操
人工智能·python·随机森林·机器学习·支持向量机·arcgis·自然语言处理
装不满的克莱因瓶39 分钟前
深入PyTorch模型的训练与可视化 —— 掌握迁移学习等模型训练效果提升的办法
人工智能·pytorch·python·深度学习·神经网络·ai·迁移学习
无心水1 小时前
【OpenClaw:赚钱】案例19、内容产量5倍、广告收入翻4倍:播客转多平台内容矩阵全自动化实战(OpenAI Whisper + Claude)
java·人工智能·python·ai编程·openclaw·养龙虾·java.time
逗逗班学Python1 小时前
基于 Faster-Whisper 的本地语音转字幕与会议纪要系统:从音频转写到 SRT 字幕与 Markdown 纪要完整项目实战
python·语音识别·faster-whisper·字幕生成·会议纪要
The moon forgets1 小时前
ABot-M0:基于动作流形学习的机器人操作VLA基础模型深度解析
人工智能·pytorch·python·学习·具身智能·vla·点云分割
armwind1 小时前
openISP学习8-GC — Gamma Correction(Gamma 校正)
图像处理·计算机视觉