Общ тип изображение emgu C#

Използвам 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 някакъв интерфейс, който може да бъде преобразуван към различни типове.??? някаква помощ


person ras red2004    schedule 23.07.2014    source източник


Отговори (1)


За да предадете общо изображение, можете да създадете метод като този:

public static void GenericImageMethod<TColor, TDepth>(Image<TColor, TDepth> frame)
                  where TColor : struct, IColor
                  where TDepth : new() 
{
        Image<TColor, TDepth> image_output = frame.Copy();
        //Modify the image_output as you need...
        return image_output;
}
person cap7    schedule 23.07.2014
comment
има ли начин да декларирате общ тип изображение като член на клас? - person ras red2004; 24.07.2014