MultiChannelImageAccess.h 852 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * NICE-Core - efficient algebra and computer vision methods
  3. * - libimage - An image library
  4. * See file License for license information.
  5. */
  6. #ifndef _LIMUN_BASEMULTICHANNELIMAGE_H
  7. #define _LIMUN_BASEMULTICHANNELIMAGE_H
  8. namespace NICE {
  9. /**
  10. * A generic, but not very efficient multi channel image access interface.
  11. *
  12. * @author Ferid Bajramovic
  13. */
  14. class MultiChannelImageAccess {
  15. public:
  16. virtual int width() const = 0;
  17. virtual int height() const = 0;
  18. virtual int channels() const = 0;
  19. virtual int getPixelInt(int x, int y, int channel) const = 0;
  20. virtual double getPixelFloat(int x, int y, int channel) const = 0;
  21. virtual void setPixelInt(int x, int y, int channel, int pixel) = 0;
  22. virtual void setPixelFloat(int x, int y, int channel, double pixel) = 0;
  23. virtual ~MultiChannelImageAccess () {};
  24. };
  25. } // namespace
  26. #endif