색 공간은 색을 표현하는 모델입니다. 색상을 설명하는 다양한 방법이 있습니다. 예:RGB, CYMK, HSV, 그레이스케일 등
여기서는 'imgproc.hpp'라는 새 헤더를 사용했습니다. 이 'imgproc.hpp' 이미지 프로세싱의 약자입니다. 색 공간을 변환하려면 'cvtColor()'를 사용해야 합니다. OpenCV의 기능 이 함수는 'imgproc'에 정의되어 있습니다. 헤더 파일. 그래서 'imgproc.hpp'를 포함했습니다.
먼저 두 개의 행렬과 두 개의 창을 선언했습니다. 이미지를 로드하고 표시하기 위한 것입니다. 그런 다음 'cat.jpg'라는 이미지를 'myImage'에 로드했습니다. 행렬. 그 후 'cvtColor(myImage, myImage_Converted, COLOR_RGB2GRAY)'를 사용했습니다. 이 라인은 'myImage'의 RGB 색 공간을 Grayscale로 변환하여 'myImage_Converted' 행렬에 저장합니다.
'cvtColor()의 원시 형식 기능은 -
cvtColor(Source Matrix, Destination Matrix, Color Space Conversion Code)
이 프로그램에서 소스 행렬은 'myImage', 대상 행렬은 'myImage_Converted', 색 공간 변환 코드는 COLOR_RGB2GRAY입니다.
다음 프로그램은 OpenCV에서 RGB 이미지를 그레이스케일 이미지로 변환합니다.
예시
#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;//declaring a matrix to load the image// Mat myImage_Converted;//declaring a matrix to store the converted image// namedWindow("Actual_Image");//declaring window to show actual image// namedWindow("Converted_Image");//declaring window to show converted image// myImage = imread("cat.jpg");//loading the image in myImage matrix// cvtColor(myImage,myImage_Converted, COLOR_RGB2GRAY);//converting RGB to Grayscale// imshow("Actual_Image",myImage);//showing Actual Image// imshow("Converted_Image",myImage_Converted);//showing Converted Image// waitKey(0);//wait for key stroke destroyAllWindows();//closing all windows return 0; }
출력