栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

图像的读取显示和保存实验总结_图像的获取与处理?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

图像的读取显示和保存实验总结_图像的获取与处理?

一幅被定义为二维函数f(x,y)坐标的图像,亮度为任何坐标(x,y)处的振幅。当f的x,y和振幅都是有限且离散的量时,称为数字图像。

一、读取图像:imread(‘filename’)

filename中不包含任何路径信息时,imread会从当前目录中寻找并读取图像文件。若当前目录中没有所需要的文件,则会尝试在父目录下搜寻。

src = cv.imread('D:/OpenCV/opencv-python/coins.png')
二·、显示图像:imshow(winname, mat)
@param winname Name of the window.
@param mat Image to be shown.
cv.imshow('input image', src)
三、保存图像:imwrite(filename, img, params=None)

filename为保存的路径,若不包含路径信息,则imwrite会将文件保存到当前的工作目录中。
img为需要保存的文件名。
params为一些可选参数,比如图片为哪种格式。

cv.imwrite('D:/OpenCV/opencv-python/coins1.png', src)
四、waitkey
    waitKey():在一个给定的时间内(单位ms)等待用户按键触发;如果用户没有按下:键,则继续等待,一直处在循环中。下面程序中OpenCv等待用户触发事件,等待时间为50ms,如果在这个时间段内, 用户按下ESC(ASCII码为27),则跳出循环,否则,则继续循环。
c = cv.waitKey(50)
if c == 27:
   break
    如果设置waitKey(0),则表示程序会无限制的等待用户的按键事件
五、代码展示
 import cv2 as cv
import numpy as np


# 读取视频
def video_demo():
    capture = cv.VideoCapture('D:/OpenCV/20220305_11.mp4')  # 中间加入视频文件可以打开
    while True:
        ret, frame = capture.read()
        """
        src:输入数组。
        DST:输出数组的大小和类型与src相同。
        flipCode:指定如何翻转数组的标志;0表示绕x轴翻转,而正值(例如,1)表示绕y轴翻转。负值(例如,-1)表示在两个轴上翻转。
        """
        frame = cv.flip(frame, 1)
        cv.imshow('video', frame)
        c = cv.waitKey(1)
        if c == 27:
            break


# 读取图像
def get_image_info(image):
    """
    type(object_or_name, bases, dict)
    type(object) -> the object's type
    type(name, bases, dict) -> a new type
    """
    print(type(image))
    # 返回的是图像的行数,列数,色彩通道数
    print(image.shape)
    # 数组元素的总个数,等于shape属性中元组元素的乘积
    print(image.size)
    # type:返回数据结构类型(list、dict、numpy.ndarray等)
    # dtype:返回数据元素的数据类型(int、float等)
    print(image.dtype)
    # array 模块就是数组,可以存放放一组相同类型的数字;array(‘b’)创建出的数组就只能存放一个字节大小的整数,范围从 -128到127
    pixel_data = np.array(image)  # numpy的值
    print(pixel_data)


print("-------Hello Python-------")
src = cv.imread('D:/OpenCV/opencv-python/coins.png')
"""
namedWindow(winname[, flags]) -> None
winname:窗口的名字
flags:窗口类型,CV_WINDOW_AUTOSIZE表明窗口大小自动适应图片大小,并且不可手动更改。 CV_WINDOW_NORMAL表明窗口可以被随意拖动改变大小。
"""
cv.namedWindow('input image', cv.WINDOW_AUTOSIZE)
"""
@param winname Name of the window.
@param mat Image to be shown.
"""
cv.imshow('input image', src)
get_image_info(src)
# 写入图像,保存起来
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
cv.imwrite('D:/OpenCV/opencv-python/coins1.png', src)

video_demo()
cv.waitKey(0)
# 释放掉变量所占用的内存
cv.destroyAllWindows()
print('Hi,Python!')
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/783240.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号