OpenCV Mat 클래스 구조와 메모리 이해
Mat 클래스란 무엇인가요?OpenCV에서 Mat은 이미지 데이터를 저장하는 핵심 클래스예요.말 그대로 ‘매트릭스(Matrix)’의 줄임말로,사진이나 영상은 결국 수많은 픽셀 값들이 모여 있는 2차원 배열이기 때문에 Mat으로 표현할 수 있어요. 단순히 사진뿐만 아니라, 그레이스케일 이미지, 마스크 이미지, 필터 결과까지도 다 Mat 객체에 저장된다고 보면 됩니다. Mat의 구조: 데이터 + 정보Mat 객체는 크게 두 가지로 나눠볼 수 있어요.하나는 픽셀 데이터 자체, 다른 하나는 데이터에 대한 정보(header)예요.이 header에는 이미지의 크기(rows, cols), 채널 수, 데이터 타입(CV_8UC3 등), 참조 횟수(refcount) 같은 정보가 들어 있어요.중요한 점은, OpenCV는 ..
더보기
OpenCV Scalar 클래스 활용법!
Scalar 클래스란 무엇인가?OpenCV에서 Scalar 클래스는 이미지의 픽셀 값을 표현하거나 그리기 함수에서 색상을 지정할 때 사용되는 데이터 타입입니다.일반적으로 cv::Scalar(b, g, r) 형태로 사용되며, 각 값은 Blue, Green, Red 순서의 8비트 정수입니다. 즉, RGB가 아닌 BGR 순서로 입력해야 원하는 색상이 출력됩니다.색상뿐만 아니라 마스크나 threshold의 임계값, 픽셀 연산 등 다양한 곳에서 활용됩니다. cv::Scalar white(255, 255, 255); // 흰색 cv::Scalar blue(255, 0, 0); // 파란색 (BGR 순서) Scalar를 사용하는 대표적인 함수들Scalar는 주로 그리기 함수에서 색상 값을 전달할 때 ..
더보기