더북(TheBook)

2.2.3 HelloCV에서 사용된 OpenCV 주요 함수 설명

이 절에서는 앞서 HelloCV 프로젝트에서 사용한 기본적인 OpenCV 함수에 대해 좀 더 자세히 알아보겠습니다. imread(), namedWindow(), imshow(), waitKey() 같은 함수는 OpenCV 응용 프로그램에서 매우 빈번하게 사용되므로 이 절에서 사용법을 제대로 이해하고 넘어가는 것이 좋습니다. 더불어 HelloCV 프로그램에서 직접 사용하지는 않았지만 함께 알아 두면 좋은 OpenCV 함수들도 소개하겠습니다.

Note

OpenCV 라이브러리에서 사용하는 대부분의 함수와 클래스는 cv 네임스페이스 안에서 선언되어 있습니다. 그러므로 imread 함수나 Mat 클래스를 표현할 때 cv::imread() 또는 cv::Mat 형태로 작성하는 것이 정확한 표기입니다. 그러나 항상 cv::을 붙여서 표기하면 지면을 많이 차지하고 오히려 가독성이 더 떨어지기 때문에 이 책에서는 cv::을 따로 붙이지 않고 설명을 하겠습니다. 즉, cv::imread() 함수 대신 imread() 함수라고 표기하고, cv::Mat 클래스 대신 Mat 클래스라고 간략하게 표기하겠습니다. 실제로 이 책에서 사용하는 모든 소스 코드에서는 파일 상단부에 using namespace cv; 문장을 추가하여 실제 코드 본문에서는 cv::을 생략하여 코드를 작성하고 있기 때문에, 책에서 설명할 때에도 cv::을 붙이지 않는 것이 통일성이 있습니다. 다만 cv 네임스페이스가 아닌 OpenCV 함수 또는 클래스에 대해서는 별도로 네임스페이스에 대한 설명을 추가하겠습니다.

 

가장 먼저 영상 파일을 불러올 때 사용한 imread() 함수에 대해 알아보겠습니다. imread() 함수 원형은 다음과 같습니다.

Mat imread(const String& filename, int flags = IMREAD_COLOR);

filename

불러올 영상 파일 이름

flags

영상 파일 불러오기 옵션 플래그. ImreadModes 열거형 상수를 지정합니다.

반환값

불러온 영상 데이터(Mat 객체)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.