#include "highgui.h"
#include "cv.h"
int g_slider_position = 0;
CvCapture* g_capture = NULL;
void onTrackbarSlider(int pos)
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}
int main()
{
int temp_pos = 23;
cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture("G:\\kkk.avi");
int frames = (int)cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
if (frames != 0)
{
cvCreateTrackbar("Position", "Example3", &g_slider_position, frames, onTrackbarSlider);
}
IplImage * frame;
while (1)
{
frame = cvQueryFrame(g_capture);
if (!frame)
{
break;
}
cvShowImage("Example3", frame);
char c = cvWaitKey(33);
if (c == 27)
{
break;
}
}
cvReleaseCapture(&g_capture);
cvDestroyWindow("Example3");
return 0;
#include "cv.h"
int g_slider_position = 0;
CvCapture* g_capture = NULL;
void onTrackbarSlider(int pos)
{
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}
int main()
{
int temp_pos = 23;
cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture("G:\\kkk.avi");
int frames = (int)cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
if (frames != 0)
{
cvCreateTrackbar("Position", "Example3", &g_slider_position, frames, onTrackbarSlider);
}
IplImage * frame;
while (1)
{
frame = cvQueryFrame(g_capture);
if (!frame)
{
break;
}
cvShowImage("Example3", frame);
char c = cvWaitKey(33);
if (c == 27)
{
break;
}
}
cvReleaseCapture(&g_capture);
cvDestroyWindow("Example3");
return 0;
本文介绍了一个使用OpenCV库实现的简单程序,该程序能够读取并播放视频文件,同时还提供了一个滑动条用于控制视频播放的位置。通过创建窗口、设置滑动条及其回调函数,用户可以方便地定位到视频的任意帧。
4519

被折叠的 条评论
为什么被折叠?



