zoukankan      html  css  js  c++  java
  • opencv中的函数

    读入图像:cv2.imread(),第一个参数:未文件路径,第二个参数:告诉函数要以何种方式读取图片。

    • cv2.IMREAD_COLOR:读入一幅彩色图像。图像的透明度会被忽略。
    • cv2.IMREAD_GRAYSCALE:以灰度模式读入图像

     显示图像:cv2.imshow()

    • 窗口会自动调整为图像大小,第一个参数是窗口的名字,其次是图像

    键盘绑定函数:cv2.waitKey()

    • 时间尺度是毫秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的ASII码值。
    • 这个函数的参数为0,将会无限期的等待键盘输入。

    销毁窗口:cv2.destroyAllWindows()

    • 可以轻易删除任何我们建立的窗口。如果你想删除特定的窗口可以使用cv2.destoryWindow(),在括号内输入你想删除的窗口名。

    Take Care:

    一种特殊的情况是, 你也可以先创建一个窗口, 之后
    再加载图像。这种情况下, 你可以决定窗口是否可以调整
    大小。使用到的函数是cv2.namedWindow()。初始设定函数
    标签是cv2.WINDOW_AUTOSIZE。但是如果你把标签改成
    cv2.WINDOW_NORMAL,你就可以调整窗口大小了。当图像维度太大,
    或者要添加轨迹条时,调整窗口大小将会很有用

    import numpy as np
    8 import cv2
    9
    10 cv2.namedWindow('image', cv2.WINDOW_NORMAL)
    11 cv2.imshow('image',img)
    12 cv2.waitKey(0)
    13 cv2.destroyAllWindows()

    保存图像:cv2.imwrite('test.jpg',img)

    • 使用函数cv2.imwrite() 来保存一个图像。首先需要一个文件名,之后才是你要保存的图像。

    cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片

    用摄像头捕获视频:cv2.VideoCapture()

    • 它的参数可以是设备的索引号,或者是一个视频文件。设备索引好就是在制定使用的摄像头。通常笔记本电脑都有内置摄像头,所以参数就是0。可以通过设置成1或其他的来选择别的摄像头。
    获取相机/视频的各种属性–常见函数
    • cv2.VideoCapture.get(propId) 访问视频的某些功能,其中propId是一个从0到18的数字,每个数字表示视频的属性(Property Identifier)。
    • retval = cv2.VideoCapture.set(propId,value)
    • 其中一些值可以使用 cap.set(propId,value) 进行修改,value是修改后的值。
    • 例如:通过cap.get(3)和cap.get(4)来检查帧的宽度和高度,默认的值是640x480。现修改为320x240,使用ret = cap.set(3, 320)和ret = cap.set(4, 240)。
    • retval,image= cv2.VideoCapture.read([,image]) 抓取,解码并返回下一个视频帧。返回值为true表明抓取成功。该函数是组合了grab()和retrieve(),这是最方便的方法。如果没有帧,该函数返回false,并输出空图像。
    • retval, image = cv2.VideoCapture.retrieve([, image[, flag]]) 解码并返回抓取的视频帧
    • retval = cv2.VideoCapture.grab() 从视频文件或相机中抓取下一帧。true为抓取成功。该函数主要用于多摄像头时。
    • cv2.VideoCapture.release() 关闭视频文件或相机设备。
    retval = cv2.VideoCapture.get(ptopId)#打开视频文件或者相机设备进行视频捕获。
    
    propId 常见取值如下:
    """
    cv2.CAP_PROP_POS_MSEC:     视频文件的当前位置(ms)
    cv2.CAP_PROP_POS_FRAMES:   从0开始索引帧,帧位置。
    cv2.CAP_PROP_POS_AVI_RATIO:视频文件的相对位置(0表示开始,1表示结束)
    cv2.CAP_PROP_FRAME_WIDTH:  视频流的帧宽度。
    cv2.CAP_PROP_FRAME_HEIGHT: 视频流的帧高度。
    cv2.CAP_PROP_FPS:          帧率
    cv2.CAP_PROP_FOURCC:       编解码器四字符代码
    cv2.CAP_PROP_FRAME_COUNT:  视频文件的帧数
    cv2.CAP_PROP_FORMAT:       retrieve()返回的Mat对象的格式。
    cv2.CAP_PROP_MODE:         后端专用的值,指示当前捕获模式
    
    cv2.CAP_PROP_BRIGHTNESS:图像的亮度,仅适用于支持的相机
    cv2.CAP_PROP_CONTRAST:  图像对比度,仅适用于相机
    cv2.CAP_PROP_SATURATION:图像饱和度,仅适用于相机
    cv2.CAP_PROP_HUE:       图像色调,仅适用于相机
    cv2.CAP_PROP_GAIN:      图像增益,仅适用于支持的相机
    cv2.CAP_PROP_EXPOSURE:    曝光,仅适用于支持的相机
    cv2.CAP_PROP_CONVERT_RGB:布尔标志,指示是否应将图像转换为RGB。
    """

    视频保存

    VideoWriter 用于视频的保存。

    • <VideoWriter object> = cv.VideoWriter(filename, fourcc, fps, frameSize[, isColor] )

      参数函数:

    • filename:保存文件的文件名
    • fourcc:指定视频编码器的4字节代码
    • fps:帧率
    • frameSize:帧大小
    • retval = cv2.VideoWriter_fourcc( c1, c2, c3, c4 ) 将4字符串接为fourcc代码。
      cv.VideoWriter.write( image ) 将帧图像保存为视频文件。
      isColor:如果为true,则视频为彩色,否则为灰度视频,默认为true

  • 相关阅读:
    ant 软件包不存在报错
    在 Internet Explorer 中使用 Windows 窗体控件
    智能客户端
    Back to the Future with Smart Clients
    "Automation 服务器不能创建对象" 的解决方案
    Top 10 Reasons for Developers to Create Smart Clients
    Updater Application Block for .NET
    Smart Client Application Model and the .NET Framework 1.1
    Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients
    智能客户端技术总结(二)
  • 原文地址:https://www.cnblogs.com/leoych/p/12060317.html
Copyright © 2011-2022 走看看