นี่คือวิธีใน image processing เพื่อปรับ contrast โดยใช้ histogram ของภาพ
วิธีนี้โดยปกติเพิ่ม global contrast ของภาพหลายภาพ โดยเฉพาะเมื่อ usable data ของภาพถูกแทนด้วย contrast values ที่ใกล้เคียงกัน และผ่านการปรับนี้ intensities สามารถกระจายได้ดีขึ้นบน histogram และช่วยให้พื้นที่ที่มี local contrast ต่ำ ได้รับ contrast สูงขึ้น
OpenCV มีฟังก์ชันสำหรับทำสิ่งนี้ คือ cv2.equalizeHist() input คือแค่ grayscale image และ output คือ histogram equalized image ของเรา
เทคนิคนี้ดีเมื่อ histogram ของภาพถูกจำกัดในพื้นที่เฉพาะ และจะไม่ทำงานดีในที่ที่มี large intensity variations และที่ histogram ครอบคลุมพื้นที่ใหญ่ คือมีทั้ง bright และ dark pixels อยู่
Input

ตัวอย่างโค้ด
import cv2
import numpy as np
# อ่านภาพด้วย imread
my_img = cv2.imread('C:/Users/TP/Pictures/west bengal/bishnupur/pp.jpg', 0)
equ = cv2.equalizeHist(my_img)
# stacking ทั้งสองภาพเรียงติดกัน
res = np.hstack((my_img, equ))
# แสดงภาพ input vs output
cv2.imshow('image', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
ผลลัพธ์
