openCV学习笔记1——图片的读取,显示,保存;视频的读取,显示和保存
在pycharm中下载openCV①打开pycharm下方的terminal终端②在路径下直接输入 pip install opencv-python1.读入图像函数:cv2.imread()第一个参数是图像的路径(需使用正斜杠),第二个是读取图形的方式• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,这是默认参数。• cv2.IMREAD_GRAYSCALE:以灰度模
在pycharm中下载openCV
①打开pycharm下方的terminal终端
②在路径下直接输入 pip install opencv-python
1.读入图像
函数:cv2.imread()
第一个参数是图像的路径(需使用正斜杠),第二个是读取图形的方式
• cv2.IMREAD_COLOR:读入一副彩色图像。图像的透明度会被忽略,
这是默认参数。
• cv2.IMREAD_GRAYSCALE:以灰度模式读入图像
2.显示图像
函数:cv2.imshow()
第一个参数为窗口名称,第二个为要显示的图像
代码示例
import cv2
#路径是/ this is important
src=cv2.imread('D:/study/OpenCV/image/1.png')
#打印图片的类型
print(type(src))
#打印出图片的高宽,通道数目
print(src.shape)
print(src.size)
#窗口名称,图片
cv2.imshow("hello",src)
cv2.waitKey(0)
#可以删除我们建立的任何窗口
cv2.destroyAllWindows()
3.保存图像
函数:cv2.imwrite()
第一个参数为存储图像的路径,第二个为保存的图像
代码示例
import cv2
import numpy as np
img=cv2.imread('001.jpg',0)
cv2.imshow("001",img)
k=cv2.waitKey(0)
#如果用的是64位,则需改成k=cv2.waitKey(0)&0xFF
#如果按esc键,则不保存图片,直接退出
if k==27:
cv2.destroyAllWindows()
#如果按s键,则保存图片后在退出
elif k==ord('s'):
#第一个参数是路径名,不能包含空格
cv2.imwrite('D:/study/OpenCV/image/桥本环奈.png',img)
cv2.destroyAllWindows()
4.用摄像头捕获视频(视频的读取和显示)
为了获取视频,你应该创建一个 VideoCapture 对象。他的参数可以是设备的索引号,或者是一个视频文件。设备索引号就是在指定要使用的摄像头。一般的笔记本电脑都有内置摄像头。所以参数就是 0。你可以通过设置成 1 或者其他的来选择别的摄像头。
代码示例:
import numpy as np
import cv2
#为了获取一个视频,创建一个VedioCapture对象,参数可以是设备的索引号和视频文件。内置摄像头为0
cap=cv2.VideoCapture(0)
while(True):
#第一个参数ret为True或者False, 代表有没有读取到图片
#第二个参数frame表示截取到一帧的图片
ret,frame=cap.read()
#将rgb图片转换为灰度图
gray=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
cv2.imshow('frame',gray)
#按下q键,停止捕获视频
if cv2.waitKey(1)&0xFF == ord('q'):
break
# 释放摄像头
cap.release()
cv2.destroyAllWindows()
5.从文件中播放视频并保存视频到指定文件夹中
代码示例
import numpy as np
import cv2
cap=cv2.VideoCapture('D:/b站视频/桥本小仙女.mp4')
#用来设置需要保存视频的格式
fourcc=cv2.VideoWriter_fourcc(*'XVID')
#用来保存视频
# VideoWriter(filename, fourcc, fps, frameSize[, isColor])
# 第一个参数是要保存的文件的路径
# fourcc 指定编码器
# fps 要保存的视频的帧率
# frameSize 要保存的文件的画面尺寸
# isColor 指示是黑白画面还是彩色的画面
out=cv2.VideoWriter('D:/study/OpenCV/vedio/output.avi',fourcc,20.0,(640,480))
#cap.isOpened() 来检查摄像头是否成功初始化
while (cap.isOpened()):
rat,frame=cap.read()
#cv2.flip(filename, flipcode)
#filename:需要操作的图像
#flipcode:翻转方式 1:水平翻转 0 :垂直翻转 -1:水平垂直翻转
if rat==True:
frame=cv2.flip(frame,-1)
out.write(frame)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()
ps:文章中的笔记都是根据OPENCV-PYTHON中文教程这本书的内容整理出来的,如果对这本书感兴趣,可以点击下方链接:https://pan.baidu.com/s/1UlWFgHmTuaj8TV55qpgHtw 提取码:f64k
更多推荐
所有评论(0)