29 #include <opencv2/highgui/highgui.hpp>
41 class FakeImageSource :
public ImageSource {
43 FakeImageSource(std::string
const &imagesDir);
44 virtual ~FakeImageSource() {}
46 bool ok()
const override {
return !m_images.empty(); }
52 std::vector<cv::Mat> m_images;
53 size_t m_currentImage = 0;
57 ImageSourcePtr openImageFileSequence(std::string
const &dir) {
58 auto ret = ImageSourcePtr{
new FakeImageSource{dir}};
65 FakeImageSource::FakeImageSource(std::string
const &imagesDir) {
68 for (
int imageNum = 1;; ++imageNum) {
69 std::ostringstream fileName;
70 fileName << imagesDir <<
"/";
71 fileName << std::setfill(
'0') << std::setw(4) << imageNum;
74 std::cout <<
"Trying to read image from " << fileName.str()
76 image = cv::imread(fileName.str(), CV_LOAD_IMAGE_COLOR);
80 m_images.push_back(image);
84 std::this_thread::sleep_for(std::chrono::milliseconds(10));
85 m_currentImage = (m_currentImage + 1) % m_images.size();
90 m_images[m_currentImage].copyTo(color);
94 return m_images.front().size();
cv::Size resolution() const override
Get resolution of the images from this source.
void retrieveColor(cv::Mat &color, osvr::util::time::TimeValue ×tamp) override