opencv关于视频添加滚动条的问题 一样的程序 为什么结构不一样呢!奇怪极了(4)

话不多说,先上程序

这一段是网上大神的:

#include "highgui.h"

int g_slider_position = 0;
CvCapture* g_capture = NULL;

void onTrackbarSlide(int pos)
{
    cvSetCaptureProperty(g_capture, CV_CAP_PROP_POS_FRAMES,pos);
}

int main()
{
    cvNamedWindow("example",CV_WINDOW_AUTOSIZE);
    g_capture = cvCreateFileCapture("I:\\资料\\opencv相关资料\\OpenCV教程\\图像与视频\\video.long.mjpg.avi");
    int frames = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
    //int frameRate = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FPS);

    if(frames!=0)   
        cvCreateTrackbar("position","example", &g_slider_position, frames, onTrackbarSlide);
   
    IplImage* frame;
    for(g_slider_position=0;g_slider_position<frames;g_slider_position++)
    {
        frame = cvQueryFrame(g_capture);
        if(!frame)     break;
        cvShowImage("example", frame);
        char c = cvWaitKey(33);
        cvSetTrackbarPos("position","example", g_slider_position);
        onTrackbarSlide(g_slider_position);
        if(c == 27)    break;
    }
    cvReleaseCapture(&g_capture);
    cvDestroyWindow("example");
}

这一段是我的:

#include "highgui.h"

int g_slider_position = 0;
CvCapture* g_capture   =NULL;
void onTrackbarSlide(int pos)
{
    cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}

int main()
{
    cvNamedWindow("example",CV_WINDOW_AUTOSIZE);
    g_capture = cvCreateFileCapture("I:\\资料\\opencv相关资料\\OpenCV教程\\图像与视频\\video.long.mjpg.avi");
    int frames=(int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);
    //int frameRate = (int)cvGetCaptureProperty(g_capture,CV_CAP_PROP_FPS);
    if(frames!=0)
        cvCreateTrackbar("position","exapmle", &g_slider_position, frames, onTrackbarSlide);

    IplImage * frame;
    for(g_slider_position=0;g_slider_position<frames;g_slider_position++)
    {
        frame = cvQueryFrame(g_capture);
        if(!frame) break;
        cvShowImage("example",frame);
        char c = cvWaitKey(33);
        cvSetTrackbarPos("position","example",g_slider_position);
        onTrackbarSlide(g_slider_position);
        if(c==27)  break;
    }
    cvReleaseCapture(&g_capture);
    cvDestroyWindow("example");
    
}

运行结果:大神的程序可以成功添加滚动条 ,可是我的空空如也,没有半点滚动条的痕迹。

求解释~~!!在此谢过了!

posted on 2013-02-27 13:50  0fengfan0  阅读(582)  评论(1编辑  收藏  举报

导航