【图像处理】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 显示结果图像。
相关推荐
databook6 分钟前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy
棉猴37 分钟前
玩游戏学Python1-Python和pgzero库的安装
python·pygame·玩游戏·pgzero·pgzrun
诺伦1 小时前
GEO优化数据实证:78%引用流向官网的机制拆解与小品牌三步管线实战教程 | RiseClaw玄策
python·seo·geo·内容营销·ai搜索
oooost1 小时前
pytorch学习笔记1
python·学习方法
数字融合2 小时前
透明化视频孪生虚实映射一体化融合技术
人工智能·python·数码相机
jack186892 小时前
Lovable.Dev 全栈应用快速落地实战指南
python
华研前沿标杆游学2 小时前
【标杆研学】走进茅台集团|对标学习长期主义与匠心精神
python
陈嘿萌2 小时前
ICML 2026|浙大 1D-Fusion:用 Tokenizer 将图像“压”成一维 Token,重构融合表示
图像处理·人工智能·计算机视觉·图像融合·计算机科学与技术·学术研究与理论基础·顶级期刊与会议
GitFun3 小时前
KDJ vs RSI:11年数据实测,金叉死叉输了48个点
python·股票·量化交易
李可以量化3 小时前
从零读懂配对交易(上):从套利本源到配对交易的核心逻辑
python·区块链·量化交易·通达信·qmt