opencv处理图片(实战指南)

一、OpenCV简介

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它拥有众多的图像处理和计算机视觉功能,包括各种常用的图像处理技术,如滤波、边缘检测、特征提取等。OpenCV支持多种编程语言,如C++、Python、Java等,这使得它成为图像处理领域广泛使用的工具之一。

二、实战演练

1. 图像读取与显示

使用cv2.imread()函数读取图像,使用cv2.imshow()函数显示图像。这是图像处理中最基础的操作。

2. 图像灰度化

灰度化是将彩色图像转换为灰度图像的过程。在OpenCV中,可以使用cv2.cvtColor()函数实现:

3. 边缘检测

边缘检测是图像处理中的一项重要技术,用于识别图像中的边界。OpenCV提供了多种边缘检测算法,如Canny、Sobel等。以下是使用Canny算法进行边缘检测的示例:

python 复制代码
edges = cv2.Canny(gray_image, threshold1=100, threshold2=200)  
cv2.imshow('Edges', edges)  
cv2.waitKey(0)
4. 图像缩放

使用cv2.resize()函数可以对图像进行缩放。你可以指定新的图像大小,或者使用缩放比例。

python 复制代码
resized_image = cv2.resize(image, (new_width, new_height))  
# 或者使用缩放比例  
# resized_image = cv2.resize(image, None, fx=0.5, fy=0.5)  
cv2.imshow('Resized Image', resized_image)  
cv2.waitKey(0)
5.从图片 a 中提取了红色、绿色和蓝色通道
python 复制代码
import cv2  
  
# 读取图片  
a = cv2.imread('你的图片位置')  
  
# 提取红色、绿色和蓝色通道  
a1 = a[:, :, 0]  # 蓝色通道  
a2 = a[:, :, 1]  # 绿色通道  
a3 = a[:, :, 2]  # 红色通道  
  
# 使用cv2.split()分解图片为单独的颜色通道  
b, g, r = cv2.split(a)  
  
# 显示蓝色通道的图片  
cv2.imshow('Blue Channel', b)  
cv2.waitKey(0)  # 等待任意键盘输入  
  
# 截取图片的一部分  
b = a[100:300, 100:300]  
  
# 显示原始图片和截取的图片  
cv2.imshow('Original Image', a)  
cv2.imshow('Cropped Image', b)  
cv2.waitKey(0)  # 等待任意键盘输入  
  
# 销毁所有OpenCV窗口  
cv2.destroyAllWindows()

以上是一些基础的图片处理方法

相关推荐
mit6.82413 分钟前
[AI React Web]`意图识别`引擎 | `上下文选择算法` | `url内容抓取` | 截图捕获
前端·人工智能·react.js
正经教主15 分钟前
GitHub Browser-Use 的部署失败记录:失败了,失败了。。。。
人工智能·自动化·github
战场小包19 分钟前
AI潮汐日报0813期:Github CEO 辞职、ChatGPT 爆漏洞、下架GPT-4o引起失恋式抗议
人工智能·chatgpt·github·aigc·业界资讯·agi
在钱塘江44 分钟前
LangGraph构建Ai智能体-11-高级RAG之Self-RAG
人工智能·python
爱吃猪排1 小时前
基于 Paddle Inference 3.0 的高性能 OCR 服务实现
人工智能·命令行
小阿鑫1 小时前
MCP神器!MCP-USE 一键部署连接任何MCP服务器
服务器·人工智能·aigc·部署·ai落地·mcp·mcpserver·部署mcpserver·部署mcp
xw33734095641 小时前
《卷积神经网络(CNN):解锁视觉与多模态任务的深度学习核心》
人工智能·pytorch·深度学习·神经网络·cnn
极客BIM工作室1 小时前
机器学习阶段性总结:对深度学习本质的回顾 20250813
人工智能·深度学习·机器学习
程序员海军1 小时前
MCP神器!MCP-USE 一键部署连接任何MCP服务器
人工智能·aigc·mcp
Python测试之道2 小时前
利用生成式AI与大语言模型(LLM)革新自动化软件测试 —— 测试工程师必读深度解析
人工智能·语言模型·自动化