您的位置:首页 > 运维架构

学习OpenCV第四章第四题答案

2014-08-21 16:07 204 查看
// learningOpenCV_4_4.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<highgui.h>
#include<cv.h>

CvCapture* g_capture=NULL;
int g_frame_count=0;
int g_slider_pos=0;
int g_slider_pos1=0;
bool t=true;
void on_TrackbarSlider(int pos)
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
g_frame_count=pos;
}
void switch_callback(int position)
{
if(position==0)
t=false;
else
t=true;
}

int _tmain(int argc, _TCHAR* argv[])
{
cvNamedWindow("show");
g_capture=cvCreateFileCapture("E:\\数字信号处理\\1离散时间信号与系统.flv");
int frames=0;
frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
if(frames!=0)
{
cvCreateTrackbar("trackbar","show",&g_slider_pos,frames,on_TrackbarSlider);
cvCreateTrackbar("trackbar1","show",&g_slider_pos1,1,switch_callback);
}
cvSetTrackbarPos("trackbar","show",1);
cvSetTrackbarPos("trackbar1","show",1);
IplImage* frame;
while(1)
{
frame=cvQueryFrame(g_capture);
if(frame==0)
break;
char c=cvWaitKey(33);
if(c==27)
break;

if(t)
{
cvShowImage("show",frame);
cvSetTrackbarPos("trackbar","show",g_frame_count);
g_frame_count++;
}
else
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,g_frame_count);
}

}

cvReleaseCapture(&g_capture);
cvDestroyAllWindows();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: