OpenCV学习笔记01--图像和视频的显示
来源:互联网 发布:mac用搜狗输入法 编辑:程序博客网 时间:2024/05/24 01:51
例一:显示图像
学到的函数:
1.cvLoadImage("D:\\02.jpg")
将一副图像加载进内存,返回图像的指针
2.cvNamedWindow("Example", 0)
创建一个窗口显示图像,标题为Example.第二个参数为0图片填充窗口,CV_WINDOW_AUTOSIZE为这个窗口适应图片
3.cvShowImage("Example", img)
在Example窗口中显示img图片
4.cvWaitKey(0)
参数为等待按键按下的时间,即程序静止的时间,单位为ms。若为0一直等待直到按键按下
用Opencv显示图像有如下几个过程,首先,建立一个窗口用来显示图像,第二步,将图像加载进内存,第三步显示图像。
加载完毕后为了让其保持显示状态,可以用cvWaitKey(0)使其在按键按下后再执行之后的操作。当其参数为非0的x时,表示在xms后执行之后的操作。
而程序执行完毕后为了安全性需要释放内存和窗口。虽然在关闭窗口时系统会自动释放这些资源,可是养成习惯显示释放资源对之后的开发是有好处的。
#include "stdafx.h"
#include "highgui.h"
int _tmain(int argc, char** argv){IplImage* img = cvLoadImage("D:\\02.jpg");cvNamedWindow("Example", 0);//创建一个窗口显示图像,标题为Example.第二个参数为0图片填充窗口,CV_WINDOW_AUTOSIZE为这个窗口适应图片cvShowImage("Example", img); //在Example窗口中显示img图片cvWaitKey(0); //等待按键按下cvReleaseImage(&img); //释放内存cvDestroyWindow("Example"); //释放窗口while (1);}
例二:显示视频
新加入的函数:
1.CvCapture* capture = cvCreateFileCapture("D:\\1.wmv");
读入视频文件,返回指向CvCapture的指针
2.frame = cvQueryFrame(capture);
将下一帧视频文件载入内存,返回下一帧的指针
3.cvCreateCameraCapture(0);
读取摄像机图像,返回指向CvCapture的指针,参数为-1会让选择摄像机
显示视频和显示图像相比,只是把视频文件一帧一帧地以图像的方式显示。而实现这一功能的是cvQueryFrame()函数,这个函数将视频文件一帧一帧的分开,返回下一帧的图像对应的指针。
显示视频和显示图像几乎没有区别,首先,建立一个窗口用来显示图像,第二步,将视频加载进内存,第三步,得到视频中的当前帧的图像,第四步,显示图像。
当然,其内部还是有一些微小的区别:
一、读入图片是用cvLoadImage,返回的指针是IplImage*;而读入视频是用cvCreatFileCapture,而其返回的指针是CvCapture*。
二、释放内存时显示图像需要释放图片占用的内存,而显示视频图像是从视频中获取的,所以需要释放的是视频的内存。
int _tmain(int argc, _TCHAR* argv[]){cvNamedWindow("Opencv", 0);//IplImage* img = cvLoadImage("D:\\2.JPG");//CvCapture* capture = cvCreateFileCapture("D:\\1.wmv"); //读入视频文件,返回指向CvCapture的指针CvCapture* capture = cvCreateCameraCapture(0);//获取摄像头采集的视频,返回指向CvCapture的指针IplImage* frame;while (1){frame = cvQueryFrame(capture);//将下一帧视频文件载入内存,返回下一帧的指针if (!frame) break; cvShowImage("Opencv", frame); char c = cvWaitKey(33); //每33ms显示一帧图像if (c == 27) break; //27对应的是ESC键,即当ESC键按下时退出} cvReleaseCapture(&capture);cvDestroyWindow("Opencv"); return 0;}
- OpenCV学习笔记01--图像和视频的显示
- OpenCV学习笔记之图像视频显示
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 .
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- 【OpenCV学习笔记 003】图像的载入、显示和输出
- opencv学习笔记----浅析图像的载入,显示和输出
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV学习笔记(9)利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- opencv视频学习第三课(显示图像)笔记整理
- opencv学习(一)——图像显示和视频播放
- opencv学习笔记-01 显示图像
- OpenCV学习 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- Opencv学习笔记-显示图像
- OpenCV学习笔记-显示图像
- 【opencv学习笔记】显示图像
- VS+MFC+Opencv显示视频和图像。
- HTTP头部详解
- rsync实现文件备份同步
- adb shell 启动,停止 android 应用程序
- 唐山哪家治自闭症好
- FFmpeg在iOS上完美编译
- OpenCV学习笔记01--图像和视频的显示
- 如何编写安全的PHP代码
- 第十二周项目1:教师兼干部类
- 【项目管理和构建】——Maven简介(一)
- [开发环境]支持MASM代码汇编开发环境,支持32位和64位XP/7/8
- 解析虚拟VMware三种网络模式根本区别
- Spring 访问各种数据库的配置
- POJ 3349 解题报告
- [GIT]git创建及其使用心得