'**SUMMARY**
This method generates a normalized hue histogram for the image
or the ROI within the image. The hue histogram is a 2D hue/saturation
numpy array histogram with a shape of 180x256. This histogram can
be used for histogram back projection.
**PARAMETERS**
* *roi* - Anything that can be cajoled into being an ROI feature
including a tuple of (x,y,w,h), a list of points, or another feature.
**RETURNS**
A normalized 180x256 numpy array that is the hue histogram.
**EXAMPLE**
>>> img = Image(\'lenna\')
>>> roi = (0,0,100,100)
>>> hist = img.getNormalizedHueHistogram(roi)
**SEE ALSO**
ImageClass.backProjectHueHistogram()
ImageClass.findBlobsFromHueHistogram()'

def getNormalizedHueHistogram(self, roi=None):

    try:
        import cv2
    except ImportError:
        warnings.warn('OpenCV    >=    2.3    required    to    use    this.')
        return None
    from SimpleCV.Features import ROI
    if roi:
        roi = ROI(roi, self)
        hsv = roi.crop().toHSV().getNumpyCv2()
    else:
        hsv = self.toHSV().getNumpyCv2()
    hist = cv2.calcHist([hsv], [0, 1], None, [180, 256], [0, 180, 0, 256])
    cv2.normalize(hist, hist, 0, 255, cv2.NORM_MINMAX)
    return hist
