前言
因为参加无人机比赛的需要,所以开始接触一些计算机视觉的东西。
最终的学习目标是能够利用opencv进行有颜色线的识别、识别路径上障碍物、识别小球
图像读取
import cv2
首先向python里导入opencv库函数,后面用到的所有的函数都属从里面调取出来
img = cv2.imread('img1.jpg')
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
当imread函数里不添加额外参数时,cv2会自动读取当前路径下名为‘img1’彩色图像(cv2默认的颜色通道是BGR) imshow函数展示刚刚读取的图片 waitKey函数设置图象停留的时间,单位ms。其中,时间为0不代表图像在0秒中一闪而过,而是表示图像停留在当前页面,直到键盘上按下任意键后,图象才会消失。
img2 = cv2.imread('img1.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
若读取灰度图,补充参数cv2.IMREAD_GRAYSCALE
视频读取
vid = cv2.VideoCapture('vid1.mp4')
if vid.isOpened():
open, frame = vid.read()
else:
open = False
视频读取检查视频是否打开 read函数会返回两个参数:第一个波尔类型参数反映视频是否成功打开;第二个参数是读取视频中的一帧图象 补充资料———》python—OpenCV2中 cv2.VideoCapture(),read(),waitKey()的使用
while open:
ret, frame = vid.read()
if frame is None:
break
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('video',gray)
if cv2.waitKey(10) & 0xFF == 27:
break
vid.release()
cv2.destroyAllWindows()
视频成功打开后,检查从视频里读取出来的帧是否为None 。结果不为None 再进行下面的操作。 cvtColor 将彩色图转换为灰度图进行展示。 通过设置停留时间让图片连成视频播放。
|