Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Cách chuyển đổi không gian màu trong OpenCV bằng C++

Không gian màu là mô hình biểu diễn màu sắc. Có nhiều cách: RGB, CMYK, HSV, Grayscale, v.v. Cần header imgproc.hpp (Image Processing) và hàm cvtColor().

Khai báo hai ma trận và hai cửa sổ. Tải ảnh 'cat.jpg' vào 'myImage'. Dùng cvtColor(myImage, myImage_Converted, COLOR_RGB2GRAY) để chuyển RGB sang Grayscale.

Cú pháp hàm cvtColor

cvtColor(Source Matrix, Destination Matrix, Color Space Conversion Code)

Ví dụ

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

int main(int argc, const char** argv) {
    Mat myImage, myImage_Converted;
    namedWindow("Actual_Image");
    namedWindow("Converted_Image");
    myImage = imread("cat.jpg");
    cvtColor(myImage, myImage_Converted, COLOR_RGB2GRAY);
    imshow("Actual_Image", myImage);
    imshow("Converted_Image", myImage_Converted);
    waitKey(0);
    destroyAllWindows();
    return 0;
}

Kết quả

Cách chuyển đổi không gian màu trong OpenCV bằng C++