ภาพรวม
สาธิตการใช้ Histogram Equalization กับ ภาพ Grayscale (Single Channel) ซึ่งเป็นการใช้งานตรงไปตรงมาของ equalizeHist()
แนวคิด Histogram
- ภาพ 8-bit: ค่าพิกเซล 0-255 (0=ดำ, 255=ขาว)
- Histogram: แกน X = Intensity, แกน Y = จำนวนพิกเซล
- Equalization: กระจาย Histogram ให้แบน → Contrast ดีขึ้น
โค้ดตัวอย่าง C++
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main() {
Mat original = imread("view.jpg");
Mat gray, hist;
cvtColor(original, gray, COLOR_BGR2GRAY); // แปลง Grayscale
equalizeHist(gray, hist); // Equalize
namedWindow("Original"); imshow("Original", original);
namedWindow("gray"); imshow("gray", gray);
namedWindow("histogram"); imshow("histogram", hist);
waitKey(0);
return 0;
}
ผลลัพธ์
แสดง 3 หน้าต่าง: ภาพสีต้นฉบับ, ภาพ Grayscale, ภาพ Grayscale หลัง Equalize (Contrast ดีกว่า)
