openCV教程(一):图片基本操作
openCV简介openCV是一个开源的跨平台的计算机视觉库。支持windows、linux、android、mac OS等操作系统,实现了图像处理和计算机视觉方面多个算法。提供多种语言的编程接口,c/x++/pythonopenCV图形处理1、采集图像通过摄像头采集图片:cv2.VideoCapture(摄像头来源) #指定0表示默认摄像头,指定1可更换while...
·
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)
更多推荐
已为社区贡献1条内容
所有评论(0)