Esempio n. 1
0
        internal override void Range(Image originalImage, KernelFunction kernelFunction, uint neighborhoodSize, uint x, uint y, Image outputImage)
        {
            ImageHSV <T> castedOriginalImage = (ImageHSV <T>)originalImage;
            ImageHSV <T> castedOutputImage   = (ImageHSV <T>)outputImage;

            castedOutputImage.H.Range(castedOriginalImage.H, kernelFunction, x, y, neighborhoodSize);
            castedOutputImage.S.Range(castedOriginalImage.S, kernelFunction, x, y, neighborhoodSize);
            castedOutputImage.V.Range(castedOriginalImage.V, kernelFunction, x, y, neighborhoodSize);
        }
Esempio n. 2
0
        public override Image Clone()
        {
            ImageHSV <T> clone = (ImageHSV <T>)ImageFactory.Create(Width, Height, ColorModel.HSV, GetDataType());

            clone.H = (GenericChannel <T>)H.Clone();
            clone.S = (GenericChannel <T>)S.Clone();
            clone.V = (GenericChannel <T>)V.Clone();
            return(clone);
        }
Esempio n. 3
0
        internal override GenericImage <T> Add(GenericImage <T> other)
        {
            ImageHSV <T> outcome  = (ImageHSV <T>)ImageFactory.Create(Width, Height, GetColorModel(), GetDataType());
            ImageHSV <T> otherHSV = (ImageHSV <T>)other.ToHSV();

            outcome.H = H.Add(otherHSV.H);
            outcome.S = S.Add(otherHSV.S);
            outcome.V = V.Add(otherHSV.V);
            return(outcome);
        }