C#/C# OpenCV/

C# OpenCV 2-1.Mat 클래스

2019. 10. 23.

Mat 클래스

 Mat 클래스는 Matrix의 약자, 배열을 표현하기 위한 데이터 형식.

 Mat 클래스는 Header와 DataPointer로 구성.

 Header는 Mat 클래스에 대한 정보.

 DatePointer는 각 데이터가 담겨 있는 메모리 주소 정보.

 

Mat 클래스 구성 요소

 Rows & Cols : 높이와 너비

 Type : 데이터 타입

 Channel : 이미지의 채널 (ex. 흑백이미지라면 channel은 1, 보통의 색상이미지라면 channel은 3)

 

Mat 클래스 생성자

public Mat();
public Mat(IntPtr ptr);

public Mat(Mat m, Rect roi);
public Mat(Mat m, params Range[] ranges);

public Mat(OpenCvSharp.Size size, MatType type);
public Mat(string filename, [ImreadModes flags = ImreadModes.Color]);

public Mat(IEnumerable&ltint&gt sizes, MatType type);
public Mat(int rows, int cols, MatType type);

public Mat(Mat m, Range rowRange, [Range? colRange = null]);
public Mat(OpenCvSharp.Size size, MatType type, Scalar s);

public Mat(IEnumerable&ltint&gt sizes, MatType type, Scalar s);
public Mat(int rows, int cols, MatType type, Scalar s);

public Mat(IEnumerable&ltint&gt sizes, MatType type, Array data, [IEnumerable&ltlong&gt steps = null]);
public Mat(IEnumerable&ltint&gt sizes, MatType type, IntPtr data, [IEnumerable&ltlong&gt steps = null]);

public Mat(int rows, int cols, MatType type, Array data, [long step = 0]);
public Mat(int rows, int cols, MatType type, IntPtr data, [long step = 0]);

Mat 클래스의 생성자는 위와 같은 형태로 사용.

구조체(Size, Rect, Range, Scalar), 배열, 포인터, 등을 사용.

간단히 외부의 파일을 불러오는것도 가능.

 

 

OpenCV 설치법 바로가기 ->

2019/10/18 - [프로그래밍/C# OpenCV] - C# OpenCV 1. 개요 & 설치