zoukankan      html  css  js  c++  java
  • 图像、视频和数据文件

      HighGUI,可移植的图形工具包

      图像文件处理 (Working with Image File)

      加载和保存图像,即读写文件

      cv::imread(),读取文件

      函数原型

    cv::Mat cv::imread(
        const string& filename, // Input filename
        int flags = cv::IMREAD_COLOR // Flags set how to interpret file
    );

      该函数在图像加载失败时,并不抛出异常,只返回一个空的cv::Mat(cv::Mat::empty()==true)

      cv::imwrite(),写文件

      函数原型

    bool cv::imwrite(
        const string& filename, // Input filename
        cv::InputArray image, // Image to write to file
        const vector<int>& params = vector<int>() // (Optional) for parameterized fmts
    );

      该函数在图像保存成功时,返回一个true,否则返回一个false

      图像压缩和解压缩

      cv::imread和cv::imwrite都是由多个子模块构成的,可以将子模块单独使用,也可以作为一个整体使用,特别是在内存中对图像进行压缩和解压缩

      cv::imencode(),压缩文件

      函数原型

    void cv::imencode(
        const string& ext, // Extension specifies codec
        cv::InputArray img, // Image to be encoded
        vector<uchar>& buf, // Encoded file bytes go here
        const vector<int>& params = vector<int>() // (Optional) for parameterized fmts
    );

      cv::imdecode(),解压缩文件

      函数原型

    cv::Mat cv::imdecode(
        cv::InputArray buf, // Encoded file bytes are here
        int flags = cv::IMREAD_COLOR // Flags set how to interpret file
    );

      视频文件处理(Working with Video)

      cv::VideoCapture::VideoCapture类对象,读取视频文件

      函数原型,依据不同的视频源,调用三种不同的函数创建VideoCapture类对象

    cv::VideoCapture::VideoCapture(
        const string& filename, // Input filename
    );
    cv::VideoCapture::VideoCapture(
        int device // Video capture device id
    );
    cv::VideoCapture::VideoCapture();

      你需要在计算机中安装适当的视频解码器,以成功的读取视频文件

      cv::VideoCapture::read(),读取视频帧

      函数原型

    bool cv::VideoCapture::read(
        cv::OutputArray image // Image into which to read data
    );

      cv::VideoCapture::operator>>(),读取视频帧

      函数原型

    cv::VideoCapture& cv::VideoCapture::operator>>(
        cv::Mat& image // Image into which to read data
    );

      cv::VideoCapture::grab() ,读取视频帧

      将当前可用视频读到用户不可见的内存缓冲区,为什么设计成不可见,因为读取的视频是没有加工过的,只是为了快速的读到内存而已  

      函数原型

    bool cv::VideoCapture::grab( void );

      cv::VideoCapture::retrieve(),读取视频帧

      函数原型

    bool cv::VideoCapture::retrieve(
        cv::OutputArray image, // Image into which to read data
        int channel = 0 // Used for multihead devices
    );
  • 相关阅读:
    MS SQL 错误 :17883,严重度: 1,状态: 0
    秒杀架构中高性能可扩展高可用的一点思考
    让IE10等支持classList2.0
    判定元素是否刚插入到DOM树
    accept巨坑
    for in 循环的输出顺序问题
    css斜线
    angular的directive笔记
    avalon最佳实践
    迷你MVVM框架 avalonjs 0.97发布
  • 原文地址:https://www.cnblogs.com/GoldenEllipsis/p/12974041.html
Copyright © 2011-2022 走看看