openCV教程(一):图片基本操作

本文介绍OpenCV的基本使用方法,包括图像采集、读取、展示及保存等操作,并详细讲解了色彩空间转换过程。此外,还提供了实用的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openCV简介

 openCV是一个开源的跨平台的计算机视觉库。

支持windows、linux、android、mac OS 等操作系统,实现了图像处理和计算机视觉方面多个算法。提供多种语言的编程接口,c/x++/python

openCV图形处理

1、采集图像

  • 通过摄像头采集图片:
cv2.VideoCapture(摄像头来源) #指定0表示默认摄像头,指定1可更换

while video_capture.isOpened():
    success, frame = video_capture.read()
    if not success:
        break

  • 从摄像头获取图像
cap.read() #返回布尔值 和 一帧图像
  • 释放捕获对象
cap.release()

完整:

# 引入OpenCV库
import cv2
# 调用摄像头进行拍照
cap = cv2.VideoCapture(0)
# 获取一帧图片
# 如果捕获成功,代码中ret值为真,img为捕获的图像。
ret, img = cap.read()
# 释放捕获对象
cap.release()

 2、读取图片

img=cv2.imread(图片路径,标记) #标记之图片读取方式
'''
0/cv2.IMREAD_COLOR :读入彩色图片
1/cv2.IMREAD_GRAYSCALE  :以灰度模式读入图片
2/CV2.IMREAD_UNCHANGED  :读入图像包含alpha通道
'''

3、展示图片

cv2.imshow(窗口名称,图片)

# 等待用户关闭图片窗口
cv2.waitKey(0)
# 销毁创建的所有窗口
cv2.destroyAllWindows()

4、保存图片

cv2.imwrite(保存路径,图片)

5、色彩空间转换

常用的色彩空间有:

(1)RGB色彩空间,依据人眼识别的颜色定义。

(2)HSV与HSL颜色空间

HSV:H 是色调(hue),S 是饱和度(saturation), V 是明度(value)

HSL:H 是色调(hue),S 是饱和度(saturation),L 是亮度(lightness)

(3)灰度空间

每中颜色都有三个亮度值,根据公式:

Gray = R*0.299 + G*0.587 + B*0.114计算出灰度值

openCV默认采用BGR颜色空间(因为当时的摄像头和软件提供商大多采用这种方式)。色彩空间转换方式:

cv2.cvtColor(图片对象,转换类型)
'''
转换类型有
cv2.COLOR_BGR2GRAY
cv2.COLOR_BGR2HSV
'''

#可以通过下述代码获取所有转换类型
import cv2
flags=[i for in dir(cv2) if i startswith('COLOR_')]
print(flags)
  • 图片基本操作完整实例

import cv2
# 读取图片
image_path = "images/girl.jpg"
img = cv2.imread(image_path,1)
# 窗口展示图片
cv2.imshow('cute girl',img)
# 等待用户关闭图片窗口
cv2.waitKey(0)
# 销毁创建的所有窗口
cv2.destroyAllWindows()

# 保存图片为girl-copy.png
cv2.imwrite('images/girl-copy.png',img)

 

OpenCV个广受欢迎的开源计算机视觉库 是个广受欢迎的开源计算机视觉库 ,它提供了 很多函数,实现很多计算机视觉法,从最基本的 滤波到高级物体检测 皆有涵盖 。很多 初学者希望快速掌握 OpenCV OpenCV OpenCVOpenCV的使用方法 ,但 往会 遇到 各种样的困难。 其 实仔细分析,造成这些困难的原因 有两类:第是 C/C++/C++/C++/C++编程基础不过关; 第二类是不了解算法原理。 解决 这些 困难无非提升编程能力,以及理论基 础知识。 提升编程能力需要多练习,理论知识系统学《数字图 像处理》、《计算机视觉和模式识别等课程,所有这些都不 像处理》、《计算机视觉和模式识别等课程,所有这些都不 像处理》、《计算机视觉和模式识别等课程,所有这些都不 能蹴而就 , 需要耐下心来认真修炼。 同时我们也 需要 认识到 OpenCV OpenCV OpenCVOpenCV只是个算法库, 只是个算法库, 能为我们搭建计算机视觉 应用提供“砖头”。我们并不需要完全精通了算法原理 应用提供“砖头”。我们并不需要完全精通了算法原理 之后 才去使用 OpenCV OpenCV OpenCVOpenCV, 只要了解“砖头”的功能,就可以动手。在实践中学习 才是最高效的学习 方式。 本小册子希望为初学者提供引导,使快速了解 OpenCV OpenCV OpenCVOpenCV的基本数 据结构以及用法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值