Ask Your Question

Guy78's profile - activity

2019-07-12 08:25:24 -0600 received badge  Popular Question (source)
2017-10-04 08:37:45 -0600 asked a question Solve haarcascade XML files' path

Solve haarcascade XML files' path Is it possible to solve haarcascade XML files' path in OpenCV code. At least in Linux

2017-08-02 06:29:38 -0600 answered a question GStreamer pipeline loses frames

I know that problem is in OpenCV appsink, but is there a solution?

I've tried:

videoCapture.set(CV_CAP_GSTREAMER_QUEUE_LENGTH, queue_length);

but I get error message:

(VideoProcessorTest:3673): Gtk-WARNING **: Locale not supported by C library.
    Using the fallback 'C' locale.
GStreamer Plugin: Embedded video playback halted; module matroskademux1 reported: Internal data stream error.
OpenCV Error: Unspecified error (GStreamer: unable to start pipeline
) in icvStartPipeline, file /home/test/opencv-3.2.0/modules/videoio/src/cap_gstreamer.cpp, line 407
terminate called after throwing an instance of 'cv::Exception'
  what():  /home/test/opencv-3.2.0/modules/videoio/src/cap_gstreamer.cpp:407: error: (-2) GStreamer: unable to start pipeline
 in function icvStartPipeline
2017-08-02 01:48:28 -0600 received badge  Enthusiast
2017-07-31 04:15:15 -0600 asked a question GStreamer pipeline loses frames

I use following GStreamer pipeline with VideoCapture class.

filesrc location=video.webm ! matroskademux ! vp9dec ! videoconvert ! appsink

Now VideoCapture::get(cv::CAP_PROP_FRAME_COUNT) returns the correct frame count, but when reading frames in loop with VideoCapture::read, less frames are got before EOF (return value false).

2017-07-29 03:46:46 -0600 asked a question Check, is FFmpeg or GStreamer available

What's the easiest way to check in OpenCV code, is FFmpeg or GStreamer (or both) available. I've understood that in VideoCapture class FFmpeg requires filename or device ID, but GStreamer a pipeline, so same code doesn't work in both.

2017-05-23 01:52:38 -0600 received badge  Editor (source)
2017-05-23 01:52:14 -0600 asked a question FPS and TBR

I've webm video file, which fps is 1k, and tbr 29.97

ffprobe video.webm
...
Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv, progressive), 1280x720, SAR 1:1 DAR 16:9, 1k fps, 29.97 tbr, 1k tbn, 1k tbc (default)

OpenCV VideoCapture's property CAP_PROP_FPS is 1k, and CAP_PROP_FRAME_COUNT 123857. Real frame count when reading video is, however, 3712, so real fps is tbr: 1000 *(3712/123857) = 29.97

Is video file corrupted, or can I do something in OpenCV to get the real fps (and framecount without reading the whole video).

2017-05-18 04:05:00 -0600 asked a question Serializing BackgroundSubtractor

What's the easiest way in C++ to serialize or with other way save BackgroundSubtractor's state.

2017-05-12 08:32:09 -0600 asked a question VideoWriter.write() doesn't write anything

What could be a problem if in C++ program VideoWriter.write() doesn't write anything. IsOpened() returns true. All parameters in VideoWriter.open() are surely correct, and frame size which is tried to write is same as given in VideoWriter.open().

Format is webm. CV_FOURCC('V', 'P', '9', '0')

No any runtime-errors. After VideoWriter.release() file size is 419 bytes and it contains proper EBML header (checked with mkvinfo), which video duration 0.