123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- /*
- * NICE-Core - efficient algebra and computer vision methods
- * - libimage - An image library
- * See file License for license information.
- */
- #ifndef _IMAGEINPUTSTREAM_IMAGE_H
- #define _IMAGEINPUTSTREAM_IMAGE_H
- #include "core/image/ColorImageT.h"
- namespace NICE {
- /**
- * Abstract base class for an image input stream (like cameras and videos).
- *
- * @author Ferid Bajramovic (ferid [dot] bajramovic [at] informatik [dot] uni-jena [dot] de)
- *
- * @note
- * This class is HIGHLY experimental and might change in the future.
- */
- class ImageInputStream {
- public:
- //! destructor
- virtual ~ImageInputStream();
-
- /**
- * Has the end of the stream been reached or are more images available?
- * @return true if end of stream has been reached (cannot read images)
- */
- virtual bool endOfStream() = 0;
- /**
- * Read the next image from the stream (as RGB color image) .
- * @param buffer Will recieve the image data
- * @throw ImageException if no more images available
- */
- virtual void readColorImage(ColorImage& buffer) = 0;
- /**
- * Read the next image from the stream (as RGB color image)
- * and store the image data in a new ColorImage.
- * @return a new ColorImage conaining the image data.
- * @throw ImageException if no more images available
- */
- virtual ColorImage* readColorImageNew();
- /**
- * Read the next image from the stream (as gray image) .
- * @param buffer Will recieve the image data
- * @throw ImageException if no more images available
- */
- virtual void readGrayImage(Image& buffer) = 0;
- /**
- * Read the next image from the stream (as gray image)
- * and store the image data in a new Image.
- * @return a new Image conaining the image data.
- * @throw ImageException if no more images available
- */
- virtual Image* readGrayImageNew();
- /**
- * Get the width of the images.
- * @return width
- */
- virtual int imageWidth() = 0;
- /**
- * Get the height of the images.
- * @return height
- */
- virtual int imageHeight() = 0;
- // the following methods only make sense for video sources, not for cameras
- // they aren't needed in general anyway
- /**
- * Get the number of frames which can be read.
- * @return number of frames
- */
- //virtual int getNumberOfFrames() = 0;
- /**
- * Reset the stream back to the first image.
- */
- //virtual void reset() = 0;
-
- /**
- * Leave out the next \c frames frames.
- * @param frames Number of frames to ignore
- */
- //virtual void ignoreFrames(int frames) = 0;
- };
- } // namespace
- #endif // _IMAGEINPUTSTREAM_IMAGE_H
|