opencv trackbar控制视频

小村长 2013-10-30 10:30:32
今晚看了opencv用trackbar控制视频帧,不知为什么始终不能实现滚动条随着视频帧移动,求指教
代码:
#include <iostream>
#include "cxcore.h"
#include "cv.h"
#include "highgui.h"
using namespace std;

CvCapture *capture = NULL;
int frame_count = 0;
int g_capture;

void track_change(int pos){
cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, pos);
frame_count = pos;
}

int main()
{
cvNamedWindow("show");
capture = cvCreateFileCapture("F:\\download\\itudou\\xx5.avi");
int frame_sum = cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_COUNT);
if(frame_sum != 0){
cvCreateTrackbar("track_name", "show", &g_capture, frame_sum, track_change);
}
IplImage *image = NULL;
while(1){
image = cvQueryFrame(capture);
if(!image){
break;
}
cvShowImage("show",image);
char c = cvWaitKey(33);
if(c == 27)
{
break;
}

cvSetTrackbarPos("track_name","show", frame_count); //运行两帧就结束了 为什么呢?
frame_count ++;


}
cvReleaseCapture(&capture);
cvDestroyWindow("show");
return 0;

}

当我将cvSetTrackbarPos("track_name","show", frame_count); 改为重新创建滚动条时是可以的cvCreateTrackbar("track_name", "show", &frame_count, frame_sum, track_change);,为什么? 求指教,谢谢
...全文
184 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧