cvCreateTrackbar() не работает
Я создаю приложение с книгой OpenCV для начинающих. вот код для main.m
файл:
#include <iostream>
#include <opencv2/opencv.hpp>
int g_slider_position = 0;
CvCapture *g_capture = NULL;
void onTrackBarSlide(int pos){
cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);
}
int main(int argc, const char * argv[])
{
cvNamedWindow("example3",CV_WINDOW_AUTOSIZE);
g_capture = cvCreateFileCapture("/Users/orazran/Desktop/android/sdk/extras/android/support/samples/Support 4Demos/res/raw/videoviewdemo.mp4");
int frames = (int) cvGetCaptureProperty(g_capture, CV_CAP_PROP_FRAME_COUNT);
printf("%d",frames);
if (frames != 0) {
cvCreateTrackbar("trackBar", "example3", &g_slider_position,frames,onTrackBarSlide);
}
IplImage *frame;
while (1) {
frame = cvQueryFrame(g_capture);
if (!frame) break;
cvShowImage("movieWindow", frame);
char c = cvWaitKey(33);
if (c == 27) break;
}
cvReleaseCapture(&g_capture);
cvDestroyWindow("movieWindow");
}
фильм воспроизводится хорошо, но я не вижу trackBar. что мне не хватает?
1 ответ
Решение
Проблема была по моей вине... идентификатор окна был установлен неправильно. это должно быть "example3" вместо "movieWindow".