Python-Opencv图像视频的读取及相关方法

Python使用OpenCV处理图像视频指南
这篇博客主要介绍了Python中使用OpenCV库进行图像和视频的读取操作,适合初学者入门。作者诚邀读者指出可能存在的错误或提供改进建议。

Python-Opencv图像视频的读取及相关方法

import cv2 as cv
def video_demo():
	# cv.VideoCapture()参数0代表摄像头的编号,
	# 当参数为0时表示打开笔记本的内置摄像头,如果有多个摄像头时,输入对应编号
	# 当要打开视频是则输入视频路径即可
	caputure = cv.VideoCapture(0)
	while Ture:
		# 通过 .read()方法对视频的每一帧进行读取,返回ret, frame
		# 其中ret是布尔值,如果读取帧是正确的则返回True,如果文件读取到结尾,它的返回值就为False。
		# frame就是每一帧的图像,是个三维矩阵。
		ret, frame = capture.read()
        print(ret)
        # cv.flip()方法是对图像进行翻转
        # flip(frame, flipCode[, dst])  其中的frame表示要翻转的图像,
        # flipCode 为翻转参数 有 -1 0 1 
       	# -1:水平翻转 0:垂直翻转 1:水平垂直翻转 
        frame = cv.flip(frame, 1)
        # 通过cv2.imshow("video", frame)将每一帧图像显示出来,第一个参数为窗口,第二个参数为图像
        cv.imshow("video", frame)
        # waitKey()方法本身表示等待键盘输入
        # waitKey(a)相当于延时a毫秒再到下一帧
        # waitKey()--这个函数是在一个给定的时间内(单位ms)等待用户按键触发;
        # 如果用户没有按下键,则接续等待(循环)
        # 如果设置waitKey(0),则表示程序会无限制的等待用户的按键事件,说明就卡这在了这一帧
        c = cv.waitKey(50)
        # 等待用户触发事件,等待时间为50ms, 
        # c得到的是键盘输入的ASCII码,esc键对应的ASCII码是27,即当按esc键是if条件句成立
        if c == 27:
            break

video_demo()
# 读取图片
def get_image_info(image):
	# 返回图片的类型——> ndarray
    print(type(image))
    # .shape 返回图片的(高度,宽度,通道数)
    print(image.shape)
    # .size 返回图片的数据大小
    print(image.size)
    print(image.dtype)
    # 每一个像素的高度,宽度,通道数
    pixel_data = np.array(image)
    print(pixel_data)
    print(pixel_data.shape)

# 通过cv.imread("地址")来读取图片
src = cv.imread("example.png")
# 创建一个窗口
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
# cv.imshow("input image", src) 显示图像 第一个参数为窗口,第二个参数为要显示的图像
cv.imshow("input image", src)
get_image_info(src)
gray = cv.cvtColor(src, cv.COLOR_BGR2BGRA)
# cv.imwrite("result1.png", gray) 写入图像 第一个参数为要写入的名称,第二个参数为写入的图像
cv.imwrite("result1.png", gray)
# cv.waitKey(0) 则表示程序会无限制的等待用户的按键事件,说明就卡这在了这一帧
cv.waitKey(0)
# 关闭所有窗口
cv.destroyAllWindows()

初学Opencv,如有错误地方会改进地方,真诚地邀请您提出来,谢谢!
本文结束…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值