Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

วิธีปรับ Brightness ของภาพใน OpenCV ด้วย C++


ภาพรวม

Brightness (ความสว่าง) = การเพิ่ม/ลบค่าคงที่ให้พิกเซลทุกตัว
เพิ่ม Brightness: บวก Scalar | ลด Brightness: ลบ Scalar

เพิ่ม Brightness (ตัวอย่างนี้)

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;

int main() {
    Mat original = imread("bright.jpg");
    Mat brighter;
    
    namedWindow("Original"); namedWindow("Brighter");
    
    // บวก Scalar(80,80,80) ให้ทุก Channel
    brighter = original + Scalar(80, 80, 80);
    
    imshow("Original", original);
    imshow("Brighter", brighter);
    waitKey(0);
    return 0;
}

คำอธิบาย

  • original + Scalar(80,80,80): เพิ่มค่า B,G,R ทุกพิกเซลขึ้น 80
  • OpenCV Clamp ค่าที่ >255 เป็น 255 อัตโนมัติ
  • วิธีนี้ง่ายกว่า convertTo สำหรับแค่ปรับ Brightness
  • ลด Brightness: ใช้ original - Scalar(80,80,80) (ดูบทความก่อนหน้า)

ผลลัพธ์

ภาพ "Brighter" สว่างกว่า "Original" มากขึ้น พื้นที่มืดรายละเอียดชัดเจนขึ้น

วิธีปรับ Brightness ของภาพใน OpenCV ด้วย C++