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

จะเปลี่ยนความคมชัดใน OpenCV โดยใช้ C ++ ได้อย่างไร


การเปลี่ยนความสว่างและคอนทราสต์เป็นเอฟเฟกต์การแก้ไขบ่อยครั้งในการประมวลผลภาพ ที่นี่ เราจะเรียนรู้วิธีเปลี่ยนคอนทราสต์ของรูปภาพ คอนทราสต์ควบคุมความคมชัดของภาพ ยิ่งคอนทราสต์สูง รูปภาพยิ่งคมชัด ลดคอนทราสต์ยิ่งปกปิดภาพ

การเปลี่ยนความคมชัดหมายถึงการเพิ่มน้ำหนักของพิกเซล ยิ่งคอนทราสต์มาก ภาพก็ยิ่งคมชัด หากต้องการเปลี่ยนคอนทราสต์ ให้คูณค่าพิกเซลด้วยค่าคงที่บางค่า ตัวอย่างเช่น หากคูณค่าพิกเซลทั้งหมดของรูปภาพด้วย 2 ค่าของพิกเซลจะเพิ่มเป็นสองเท่า และรูปภาพจะดูคมชัดยิ่งขึ้น

โปรแกรมต่อไปนี้สาธิตวิธีเปลี่ยนความคมชัดของรูปภาพใน OpenCV

ตัวอย่าง

#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);
}

ผลลัพธ์

จะเปลี่ยนความคมชัดใน OpenCV โดยใช้ C ++ ได้อย่างไร