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

HoRain云--OpenCV图像操作全指南:从入门到精通

🎬 HoRain 云小助手:个人主页

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

目录

⛳️ 推荐

OpenCV 图像基本操作指南

一、环境准备与安装

二、图像基本操作

1. 图像读取

2. 图像显示

3. 图像保存

4. 图像属性获取

三、图像基本操作

1. 图像裁剪

2. 通道操作

3. 图像变换

四、完整示例代码

五、重要注意事项

六、常见问题解决


OpenCV 图像基本操作指南

OpenCV(Open Source Computer Vision Library)是计算机视觉领域最流行的开源库之一,掌握其基本操作是进行图像处理和计算机视觉应用的基础。以下是对OpenCV图像基本操作的全面介绍。

一、环境准备与安装

# 安装OpenCV(Python) pip install opencv-python # 或包含更多功能的版本 pip install opencv-contrib-python

验证安装:

import cv2 print("OpenCV版本:", cv2.__version__)

二、图像基本操作

1. 图像读取

import cv2 # 读取彩色图像(默认) img = cv2.imread('image.jpg') # 读取灰度图像 gray_img = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE) # 检查是否加载成功 if img is None: print("错误:无法加载图像,请检查文件路径")

参数说明

2. 图像显示

# 显示图像 cv2.imshow('Image Window', img) # 等待按键(0表示无限等待) key = cv2.waitKey(0) # 按'q'键退出 if key == ord('q'): print("退出显示") # 关闭所有窗口 cv2.destroyAllWindows()

关键点

3. 图像保存

# 保存处理后的图像 cv2.imwrite('output.jpg', img)

4. 图像属性获取

# 获取图像形状(高度, 宽度, 通道数) print("图像形状:", img.shape) # 彩色图:(H, W, 3) # 获取图像数据类型 print("数据类型:", img.dtype) # 通常是 uint8 # 获取图像总像素数 print("图像大小:", img.size) # H * W * 通道数

三、图像基本操作

1. 图像裁剪

# 裁剪图像区域 [y1:y2, x1:x2] cropped = img[100:300, 200:400]

2. 通道操作

通道分离与合并

# 分离BGR通道 b, g, r = cv2.split(img) # 合并通道 merged = cv2.merge([b, g, r]) # 仅保留红色通道 red = img[:, :, 2]

颜色空间转换

# BGR转灰度 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # BGR转HSV hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV) # BGR转RGB(用于显示) rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

3. 图像变换

图像缩放

# 按比例缩放 resized = cv2.resize(img, None, fx=0.5, fy=0.5) # 指定尺寸缩放 resized = cv2.resize(img, (800, 600))

图像翻转

# 水平翻转 flipped_h = cv2.flip(img, 1) # 垂直翻转 flipped_v = cv2.flip(img, 0) # 水平+垂直翻转 flipped_both = cv2.flip(img, -1)

四、完整示例代码

import cv2 import numpy as np # 1. 读取图像 img = cv2.imread('lena.jpg') if img is None: print("错误:无法加载图像") exit() # 2. 获取并打印图像属性 print("图像形状:", img.shape) print("图像大小:", img.size) print("数据类型:", img.dtype) # 3. 图像转换(BGR转灰度) gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 4. 显示原始图像和转换后的图像 cv2.imshow('Original', img) cv2.imshow('Gray', gray_img) cv2.waitKey(0) cv2.destroyAllWindows() # 5. 保存灰度图像 cv2.imwrite('lena_gray.jpg', gray_img)

五、重要注意事项

  1. 颜色空间差异:OpenCV默认使用BGR颜色空间,而非常见的RGB。在进行颜色处理时需注意这一点。

  2. 图像存储:OpenCV中图像以NumPy数组形式存储,形状为(height, width, channels)

  3. 通道顺序:BGR表示中,通道顺序是蓝色、绿色、红色。

  4. 图像处理流程:通常的处理流程是:读取图像 → 图像处理 → 显示/保存结果。

  5. 错误处理:始终检查imread返回值,防止因文件路径错误导致程序崩溃。

六、常见问题解决

通过掌握这些基本操作,您已经具备了进行更复杂图像处理任务的基础。接下来可以学习图像增强、边缘检测、特征提取等高级操作,进一步探索OpenCV的广泛应用。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

http://www.jsqmd.com/news/191805/

相关文章:

  • RTX 3090运行HeyGem实测:每分钟生成约15秒视频
  • 美白淡印护肤品用什么好?2026淡斑实测:这3款产品数据说话不踩雷 - 资讯焦点
  • 揭秘C#跨平台调试难题:3步搞定Linux与macOS远程调试配置
  • 电路仿真入门必看:零基础快速理解核心概念
  • 配置英伟达N卡禁止自动更新
  • C#动态筛选表达式构建全解析(企业级应用中的5大实战场景)
  • 如何实现实时日志监控?C#跨平台日志收集的4个关键技术点
  • 计算机毕设java租赁共享平台的设计与实现 基于Java的租赁共享平台开发与应用研究 Java技术驱动的租赁共享平台设计与实践
  • 为什么你的C#日志在Linux上失效?跨平台日志收集9大坑解析
  • CUDA out of memory错误应对:减少批量大小或换卡
  • 2026年比较好的项目环保咨询/企业环保咨询项目服务口碑榜 - 品牌宣传支持者
  • 2026年比较好的亲子旅行社旅游服务排行榜 - 品牌宣传支持者
  • HeyGem系统依赖哪些Python库?torch、ffmpeg等核心组件
  • 2026年口碑好的意大利品牌集成阻尼铰链品牌厂家排行榜 - 品牌宣传支持者
  • 四川省南充市自建房设计公司/机构权威测评推荐排行榜 - 苏木2025
  • 【C#高级开发必修课】:3个关键场景带你玩转不安全类型与指针操作
  • 山西省晋城自建房设计公司/机构权威测评推荐排行榜 - 苏木2025
  • 2026年靠谱的稳定性钐钴永磁厂家推荐及采购指南 - 品牌宣传支持者
  • 2026年热门的钢套钢保温管道/热力保温管道用户好评厂家排行 - 品牌宣传支持者
  • 2026年口碑好的矿卡充电桩高压直流接触器热门厂家推荐榜单 - 品牌宣传支持者
  • 防脱产品哪个牌子最好?2026高分育发液排名前十名,告别掉发焦虑 - 资讯焦点
  • Coqui TTS或VITS接入HeyGem?打造端到端播报系统
  • 如何在C#企业系统中实现安全可靠的数据传输(SSL/TLS与加密策略全解析)
  • 为什么顶尖C#开发者都在用不安全代码?真相竟然是…
  • 河北承德市自建房设计公司排行榜出炉!权威评测 + 真实案例,建房选对不踩坑 - 苏木2025
  • 2026年质量好的防爆烘箱厂家推荐及选择参考 - 品牌宣传支持者
  • 基于Arduino Uno的寻迹小车传感器选型深度剖析
  • Angular交互核心01,深入理解 Angular 模板引用变量:# 变量名的核心用法与实战场景
  • 紧急规避!C#交错数组空引用异常的5种预防策略
  • 河北沧州市自建房设计公司哪家强?2025最新评测排行榜 + 5 星企业推荐 - 苏木2025