Computer >> Máy Tính >  >> Lập trình >> C ++

Làm thế nào để thay đổi độ tương phản trong OpenCV bằng C ++?

Thay đổi độ sáng và độ tương phản là hiệu ứng chỉnh sửa thường xuyên trong quá trình xử lý ảnh, sau đây, chúng ta sẽ tìm hiểu cách thay đổi độ tương phản của ảnh. Độ tương phản kiểm soát độ sắc nét của hình ảnh. Độ tương phản càng cao thì hình ảnh càng sắc nét, độ tương phản càng thấp thì hình ảnh càng mờ.

Thay đổi độ tương phản có nghĩa là tăng trọng lượng của các điểm ảnh. Độ tương phản càng nhiều, hình ảnh càng sắc nét. Để thay đổi độ tương phản, hãy nhân các giá trị pixel với một số hằng số. Ví dụ:nếu nhân tất cả các giá trị pixel của một hình ảnh với 2, thì giá trị của pixel sẽ được nhân đôi và hình ảnh sẽ trông sắc nét hơn.

Chương trình sau đây trình bày cách thay đổi độ tương phản của hình ảnh trong OpenCV.

Ví dụ

#include<iostream>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main() {
   Mat original;//Declaring a matrix to load the original image//
   Mat contrast;//Declaring a matrix to load the image after changing the brightness//
   namedWindow("Original");//Declaring window to show the original image//
   namedWindow("Contrast");//Declaring window for edited image//
   original = imread("mountain.jpg");//loading the image
   original.convertTo(contrast, -1, 2, 0);//changing contrast//
   imshow("Original", original);//showing original image//
   imshow("Contrast", contrast);//showing edited image//
   waitKey(0);//wait for keystroke//
   return(0);
}

Đầu ra

Làm thế nào để thay đổi độ tương phản trong OpenCV bằng C ++?