summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--display-histogram.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/display-histogram.py b/display-histogram.py
new file mode 100644
index 0000000..0f0fedd
--- /dev/null
+++ b/display-histogram.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+"""
+Sample code for displaying image histogram with Matplotlib
+"""
+
+import cv2
+import matplotlib.pyplot as plt
+
+def show_histogram(im):
+ """ Function to display image histogram.
+ Supports single and three channel images. """
+ if im.ndim == 2:
+ # Input image is single channel
+ plt.hist(im.flatten(), 256, range=(0,250), fc='k')
+ plt.show()
+ elif im.ndim == 3:
+ # Input image is three channels
+ fig = plt.figure()
+ fig.add_subplot(311)
+ plt.hist(im[...,0].flatten(), 256, range=(0,250), fc='b')
+ fig.add_subplot(312)
+ plt.hist(im[...,1].flatten(), 256, range=(0,250), fc='g')
+ fig.add_subplot(313)
+ plt.hist(im[...,2].flatten(), 256, range=(0,250), fc='r')
+ plt.show()
+
+if __name__ == '__main__':
+ im = cv2.imread("lena.jpg");
+ if not (im == None):
+ show_histogram(im)
+
+