Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Histograms Equalization โดยใช้ Python OpenCv Module


นี่เป็นวิธีหนึ่งในการประมวลผลภาพเพื่อปรับคอนทราสต์โดยใช้ฮิสโตแกรมของภาพ

จริงๆ แล้ว วิธีการนี้มักจะเพิ่มคอนทราสต์โดยรวมของรูปภาพจำนวนมาก โดยเฉพาะอย่างยิ่งเมื่อข้อมูลที่ใช้งานได้ของรูปภาพนั้นแสดงด้วยค่าคอนทราสต์ที่ใกล้เคียง และด้วยการปรับนี้ ความเข้มสามารถกระจายได้ดีขึ้นบนฮิสโตแกรม และช่วยให้พื้นที่ที่มีความเปรียบต่างในท้องถิ่นต่ำกว่า ได้ความคมชัดสูง

OpenCV มีฟังก์ชันในการทำเช่นนี้ cv2.equalizeHist() และอินพุตเป็นเพียงภาพระดับสีเทา และเอาต์พุตคือภาพที่ปรับให้เท่ากันของฮิสโตแกรม

เทคนิคนี้ใช้ได้ดีเมื่อฮิสโตแกรมของรูปภาพถูกจำกัดไว้เฉพาะบริเวณหนึ่งและจะใช้ไม่ได้ผลในสถานที่ที่มีความเข้มที่หลากหลายและฮิสโตแกรมครอบคลุมพื้นที่ขนาดใหญ่ กล่าวคือ มีทั้งพิกเซลสว่างและมืด

อินพุต

Histograms Equalization โดยใช้ Python OpenCv Module

โค้ดตัวอย่าง

import cv2
# import Numpy
import numpy as np
# reading an image using imreadmethod
my_img = cv2.imread('C:/Users/TP/Pictures/west bengal/bishnupur/pp.jpg', 0)
equ = cv2.equalizeHist(my_img)
# stacking both the images side-by-side orientation
res = np.hstack((my_img, equ))
# showing image input vs output
cv2.imshow('image', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

ผลลัพธ์

Histograms Equalization โดยใช้ Python OpenCv Module