I want to write a cross-platform application using OpenCV for video capture. In all the examples, i\'ve found frames from the camera are processed using the grab function an
Quick thoughts would be to have 2 threads, the first thread is responsible for grabbing the frames and notifiy the second thread when they are available (places them in a processing queue), the second thread does all your processing in an event loop type manner.
See boost::thread and boost::signals2 as those two together should provide most of the framework (except for the queue) for what I described above.