Python-Opencv学习(1)——图像、视频的基本操作

图像的基本操作

第一步的第一步是要导入opencv库和numpy库

import cv2 as cv
import numpy as np

写入

img = cv.imread(r"E:\Test\cross12.tif", 0)

r防止转译,后面的数字0表示灰度图,1表示彩色图

保存

cv.imwrite(r"E:\Test\1.tif", img)

显示

cv.imshow("cross", resized_img)
k = cv.waitKey(0)
if k ==27:  # 按esc退出窗口
    cv.destroyAllWindows()

必须使用waitKey才能显示

显示的窗口大小调整

用了一张2048*2048的图片,会覆盖整个屏幕并且显示不完整
2048*2048的图片

方法一

resized_img = cv.resize(img, (500, 500))

用元组把想要的尺寸给框起来
500*500的图片

方法二

resized_img = cv.resize(img, (int(img.shape[1]/2), int(img.shape[0]/2)))

可以使图像的比例不发生改变

在这里插入图片描述

将图像转化为灰度图

用函数来完成该功能:

def to_gray(image):
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    cv.imwrite("路径", gray)

核心语句是

gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)

图像的属性获取

def get_image_info(image):
    # 从上到下依次是图像的类型、长和宽和通道数、总大小、像素值类型
    print(type(image))
    print(image.shape)
    print(image.size)
    print(image.dtype)
    pixel_data = np.array(image)  # 获取像素大小(矩阵)
    print(pixel_data)

视频的基本操作

def video_demo():
    # 参数可以是设备的索引号,或者是一个视频文件(没有声音)。
    # 设备索引号就是在指定要使用的摄像头。一般的笔记本电脑都有内置摄像头。所以参数就是 0。
    # 你可以通过设置成 1 或 者其他的来选择别的摄像头
    # 你可以使用函数 capture.get(propId) 来获得视频的一些参数信息。
    # 这里 propId 可以是 0 到 18 之间的任何整数。
    capture = cv.VideoCapture(0)
    while True:
        ret, frame = capture.read()  # frame表示帧数
        frame = cv.flip(frame, 1)  # 通过摄像头读取视频,即“自拍”;把视频翻转过来
        cv.imshow("video", frame)
        c = cv.waitKey(50) #后面还有销毁窗口的操作

猜你喜欢

转载自blog.csdn.net/weixin_45738316/article/details/109052319
今日推荐