美文网首页CV
显示图像和视频

显示图像和视频

作者: 谢小帅 | 来源:发表于2017-07-11 12:35 被阅读8次

OpenCV 1.0

1.显示图像

#include "highgui.h"

int main() {

    // 加载图像文件到内存
    // cvLoadImage自动分配图像数据结构所需的内存
    // 可读取的图像格式:BMP,DIB,JPEG,JPE,PNG,PBM,PPM,SR,RAS,TIFF
    IplImage *img = cvLoadImage("../pictures/bear.jpeg"); // 用了相对路径

    // 创建窗口,参数2:窗口会根据图像实际大小自动进行拉伸或缩放
    cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);

    // 在已创建的窗口中显示图像
    cvShowImage("Example1", img); // 第一个参数为Example1,在Example1窗口中显示

    // 程序暂停,等待用户出发一个按键(如 command + Q 退出)
//    cvWaitKey(4000); // 毫秒,4s之后程序自动退出
    cvWaitKey(0); // 设为0或负数,程序一直等待直到用户出发操作

    // 用完图像之后,释放内存,release之后,img = NULL
    cvReleaseImage(&img); // 参数类型:IplImage *

    // 销毁显示图像文件的窗口
    cvDestroyWindow("Example1");

    return 0;
}

2.播放mp4视频

播放视频:循环地读取视频中的每一帧

#include "highgui.h"

int main() {

    // 创建窗口
    cvNamedWindow("Example2", CV_WINDOW_AUTOSIZE);
    CvCapture *capture = cvCreateFileCapture("../videos/day.mp4"); // capture保存了视频所有帧

    // IplImage  读取每一帧图像
    IplImage *frame;

    // 循环读取视频的帧
    while (1) {
        frame = cvQueryFrame(capture); // 从capture中Query下一帧
        if (!frame) // 帧读完,退出
            break;
        cvShowImage("Example2", frame);

        // 自定义退出
        int c = cvWaitKey(10); // 每一帧等待10ms,在用户没有按键的情况下,cvWaitKey返回 -1
        if (c == 27) // esc的ASCII码,按esc,退出
            break;
    }

    // 释放,摧毁
    cvReleaseCapture(&capture);
    cvDestroyWindow("Example2");

    return 0;
}

OpenCV2.0显示图像

步骤:

  1. 读取图片(Mat数据结构imread函数
  2. 设置窗口(namedWindow函数
  3. 将图片显示在窗口中(imshow函数
  4. 设置退出(waitKey函数

OpenCV 2.0 不需要在程序末尾设置内存释放和窗口销毁。

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv; // OpenCV中的C++类和函数都是定义在命名空间cv之内的

int main() {

    // Mat对应OpenCV1.0中的IplImage
    Mat bear = imread("../pictures/bear.jpeg");

    // CV_WINDOW_NORMAL:窗口大小可以调整
    // CV_WINDOW_AUTOSIZE: 自适应图片大小,窗口大小不可调整
    namedWindow("bear", CV_WINDOW_AUTOSIZE);

    imshow("bear", bear);

    waitKey(3000); // 3s后退出
}

相关文章

  • 显示图像和视频

    OpenCV 1.0 1.显示图像 2.播放mp4视频 播放视频:循环地读取视频中的每一帧 OpenCV2.0显示...

  • 离屏渲染探索

    图像是怎么显示到屏幕上的 图像的显示是有CPU和GPU共同一起完成的,CPU: 负责图片的解码(视频解码是由GPU...

  • OpenCV 入门讲解

    图像基础处理 1.图片显示 用 imread 显示图像 视频基本处理 基于OpenCV的基本绘画 主要是在Open...

  • 000 环境搭建

    一、OpenCV学习路线 OpenCV IO模块 - (图像与视频读写) GUI部分 - (窗口与显示) 图像处理...

  • python库函数

    PIL 中的 Image 模块 python opencv入门(读 / 写 显示以及转换图像 和 视频读入) 现在...

  • 简单的Dicom图像显示和保存的方法(利用dcmtk库和open

    视频教程:一种简单的Dicom图像显示和保存的方法(利用dcmtk库和opencv库) Git: https://...

  • web 音频/视频

    视频 poster这个属性指向了一个图像的URL,这个图像会在视频播放前显示。通常用于粗略的预览或者广告。 音频 ...

  • NX3225SA贴片24MHz晶振,智能电子产品“专属订制”

    视频安全监控系统是一种利用视频技术实时检测和监控强化区域,实时显示和记录实时图像的电子系统或网络。网络视频监控系统...

  • 屏幕图像显示的那些事儿

    计算机显示方式的演变 光栅扫描显示 图像 - 像素矩阵,显示一个图像时间,显示整个光栅的时间,和图像复杂度无关。 ...

  • 2019-04-02 OpenCV学习

    01显示图片 02图像加载与保存 图像属性:通道数目 高与宽 像素数据 图像类型 输出结果 读取视频 保存图...

网友评论

    本文标题:显示图像和视频

    本文链接:https://www.haomeiwen.com/subject/ceaphxtx.html