프로그래밍/컴퓨터 비전 with openCV

Mat 클래스 ( 개요 - 특징과 멤버 변수 )

Jay_rock 2022. 3. 16. 01:17
Mat class
: openCV에서 가장 많이 사용되는 클래스로 행렬을 나타낼 때 사용한다.

 

Mat 클래스의 여러가지 특징

  1. 2차원 행렬뿐만 아니라 고차원 행렬 표현
  2. 한 개 이상의 채널을 가질 수 있다.
  3. 정수, 실수, 복소수 등으로 구성된 행렬 또는 벡터를 저장할 수 있다.
  4. 그레이스케일 또는 컬러 영상을 저장할 수 있다.
  5. 경우에 따라 벡터 필드, 포인트 클라우드, 텐서, 히스토그램 등 정보를 저장하기도 한다.

=> 2차원 영상 데이터를 저장하고 처리하는 용도로 가장 많이 사용되고 있다.

 

 

Mat 클래스의 멤버 변수(public)

  • Mat::dims 행렬의 차원을 나타냄, 영상과 같은 2차원의 경우 값이 2
  • Mat::rows 행렬의 행 개수, 영상의 경우 세로 픽셀 크기 (3차원 이상의 경우 -1)
  • Mat::cols 행렬의 열 개수, 영상의 경우 가로 픽셀 크기 (3차원 이상의 경우 -1)
  • Mat::size 3차원 이상 행렬의 크기 정보
  • Mat::data 행렬의 원소 데이터가 저장되어 있는 주소를 가리키는 포인터형 변수, 아무것도 없는 상태일 땐 NULL 값

 

 

더 자세한 설명은 openCV 문서 페이지에서 확인 가능합니다.
https://docs.opencv.org/3.4/d3/d63/classcv_1_1Mat.html

 

OpenCV: cv::Mat Class Reference

n-dimensional dense array class More... #include  Mat () CV_NOEXCEPT    Mat (int rows, int cols, int type)    Mat (Size size, int type)    Mat (int rows, int cols, int type, const Scalar &s)    Mat (Size size, int type, const Scalar &s)    Mat (

docs.opencv.org

 

 

더보기

본 내용은 < OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝(저자 : 황선규) > 내용을 참고하여 작성되었습니다.
https://book.naver.com/bookdb/book_detail.nhn?bid=14722394