Използвам Emgu OpenCV wrapper и трябва да поддържам различни типове изображения. Въпреки това се опитвам да избегна декларирането на различно изображение за всеки поддържан тип изображение (напр. направете следното)
private Image<Gray, Byte> m_GrayImage8;
private Image<Gray, UInt16> m_GrayImage16;
private Image<Gray, UInt32> m_GrayImage32;
private Image<Bgr, Byte> m_BgrImage8;
private Image<Bgr, UInt16> m_BgrImage16;
private Image<Bgra, Byte> m_BgraImage8;
private Image<Bgra, UInt16> m_BgraImage16;
private Image<Hsv, Byte> m_HsvImage8;
private Image<Hsv, UInt16> m_HsvImage16;
private Image<Hls, Byte> m_HlsImage8;
private Image<Hls, UInt16> m_HlsImage16;
private Image<Lab, Byte> m_LabImage8;
private Image<Lab, UInt16> m_LabImage16;
private Image<Luv, Byte> m_LuvImage8;
private Image<Luv, UInt16> m_LuvImage16;
private Image<Xyz, Byte> m_XyzImage8;
private Image<Xyz, UInt16> m_XyzImage16;
private Image<Ycc, Byte> m_YccImage8;
private Image<Ycc, UInt16> m_YccImage16;
Първоначално правенето на горното беше лесният начин за внедряване на различни типове изображения. Все пак търся по-добър подход. И така, опитах да направя следното
Image<IColor, Byte> m_GrayImage8;
Все пак трябва да направя по един за всеки размер на пиксела. Има ли начин да се
Image<IColor, T> m_GrayImage8;
където T някакъв интерфейс, който може да бъде преобразуван към различни типове.??? някаква помощ