ภาพรวม
การ ลด Brightness (ความสว่าง) ทำได้โดยการ ลบค่าคงที่ (Scalar) จากค่าพิกเซลทุกตัว
โค้ดตัวอย่าง C++
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
Mat original = imread("bright.jpg");
Mat dimmer;
namedWindow("Original"); namedWindow("Dimmer");
// ลบ Scalar(80,80,80) จากทุก Channel (B,G,R)
dimmer = original - Scalar(80, 80, 80);
imshow("Original", original);
imshow("Dimmer", dimmer);
waitKey(0);
return 0;
}
คำอธิบาย
- Operator
-กับScalar: ลบค่าจากทุก Channel Scalar(80,80,80): ลดค่า B, G, R ลง 80 หน่วย- OpenCV จัดการ Saturation (Clamp 0-255) อัตโนมัติ
- เทียบเท่า
convertTo(dimmer, -1, 1, -80)
ผลลัพธ์
ภาพ "Dimmer" มืดกว่า "Original" รายละเอียดในพื้นที่สว่างชัดเจนขึ้น
