VS+MFC+Opencv显示视频和图像。
来源:互联网 发布:最小单片机 编辑:程序博客网 时间:2024/05/24 04:48
读入图片:
void CDrawImgVideoDlg::OnBnClickedShowImg()
{
// TODO: 在此添加控件通知处理程序代码
CDC *pDC = GetDlgItem(IDC_STATIC)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect;
// 矩形类
GetDlgItem(IDC_STATIC)->GetClientRect(&rect); //获取box1客户区
CvvImage cimg;
IplImage *src; // 定义IplImage指针变量src
src = cvLoadImage("E:\\Machine Learning\\lena.png",-1); // 将src指向当前工程文件目录下的图像me.bmp
cimg.CopyOf(src,src->nChannels);
cimg.DrawToHDC(hdc,&rect);
//输出图像
ReleaseDC( pDC );
cimg.Destroy();
//销毁
}
显示视频:
void CDrawImgVideoDlg::OnBnClickedShowVideo()
{
// TODO: 在此添加控件通知处理程序代码
//IplImage *src; // 定义IplImage指针变量src
// src = cvLoadImage("D:\\me.bmp",-1); // 将src指向当前工程文件目录下的图像me.bmp
// cvNamedWindow("me",0);//定义一个窗口名为lena的显示窗口
// cvShowImage("me",src);//在lena窗口中,显示src指针所指向的图像
// cvWaitKey(0);//无限等待,即图像总显示
// cvDestroyWindow("me");//销毁窗口lena
// cvReleaseImage(&src);//释放IplImage指针src
CDC *pDC = GetDlgItem(IDC_STATIC)->GetDC();//根据ID获得窗口指针再获取与该窗口关联的上下文指针
HDC hdc= pDC->GetSafeHdc(); // 获取设备上下文句柄
CRect rect;
// 矩形类
GetDlgItem(IDC_STATIC)->GetClientRect(&rect); //获取box1客户区
CvCapture *capture = cvCreateFileCapture ("D:\\1.avi"); //读取视频
if(capture==NULL) {
printf("NO capture"); //读取不成功,则标识
//return 1;
};
double fps=cvGetCaptureProperty(capture, CV_CAP_PROP_FPS ); //读取视频的帧率
int vfps = 1000 / fps; //计算每帧播放的时间
printf("%5.1f\t%5d\n",fps,vfps);
double frames=cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_COUNT);//读取视频中有多少帧
printf("frames is %f\n",frames);
//cvNamedWindow("example",CV_WINDOW_AUTOSIZE); //定义窗口
IplImage *frame;
CvvImage cimg;
while(1){
frame = cvQueryFrame( capture ); //抓取帧
cimg.CopyOf(frame,frame->nChannels);
cimg.DrawToHDC(hdc,&rect);
float ratio = cvGetCaptureProperty(capture, CV_CAP_PROP_POS_AVI_RATIO); //读取该帧在视频中的相对位置
printf("%f\n",ratio);
if(!frame)break;
//cvShowImage("IDC_STATIC",frame); //显示
char c = cvWaitKey(vfps);
if(c == 27 )break;
}
ReleaseDC( pDC );
cvReleaseCapture(&capture);
cvDestroyWindow("example");
}
- VS+MFC+Opencv显示视频和图像。
- OpenCV+MFC显示图像/视频
- OpenCV+MFC显示图像/视频
- opencv + MFC 视频图像显示
- 利用VS+MFC+Opencv显示图像和视频所需添加类(CvvImage.h和CvvImage.cpp的源码)。
- 利用MFC和opencv读取视频显示图像方法
- VS2008+MFC+opencv 显示视频图像/捕捉摄像头视频界面
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面 .
- OpenCV学习 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件(改进)
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件
- VS2010+Opencv+MFC读取图像和视频显示在Picture控件
- OpenCV学习笔记 利用MFC的Picture控件显示图像+播放视频和捕获摄像头画面
- OpenCV+MFC显示图像
- opencv+MFC显示图像
- OpenCV+MFC 显示图像
- OpenCV+MFC显示图像
- 统计学相关概念及机器学习中样本相似性度量之马氏距离
- TCP与UDP的区别
- [BZOJ4034][HAOI2015]T2 树链剖分+dfs序
- mysql 安装完毕后,忘记密码
- 【安价】亚拉奈夫想要复兴贫弱男爵家的样子【内政】1
- VS+MFC+Opencv显示视频和图像。
- C语言在嵌入式中的地位
- tomcat一闪而过
- #android wear那些事--使你的应用可见
- 安卓中字符串分割(Spilt)的坑
- CentOS yum安装mysql及配置远程访问
- 使用input代替服务器控件FileUpload实现文件上传
- JSP中获取参数的3中方法
- 8、(知识篇)IO流(5)