/// <summary>
 /// Converts the source channel depth to the destination channel depth.
 /// </summary>
 /// <typeparam name="TDepth">Destination channel depth.</typeparam>
 /// <param name="image">Image.</param>
 /// <returns>Image with converted element depth.</returns>
 public static Hsv <TDepth>[,] Cast <TDepth>(this Hsv <double>[,] image)
 where TDepth : struct
 {
     return(image.ConvertChannelDepth <Hsv <double>, Hsv <TDepth> >());
 }