OpenCV - CV_Type (Mat datatype)
오픈cv - CV_Type 매트릭스 데이터타입
Mat 으로 반환되는 함수의 경우는 바로 Mat 에 변수명으로 받아도 되지만..
가끔 Mat 자체를 정해진 사이즈로 미리 만들어놓고 수정해가며 사용하는 경우가 많다. Mat.ones or Mat.zeros 를 쳐보면 뒤에 Size 객체를 넣는 함수와, 가로세로 길이를 직접 입력하는 두가지가 있다. 난 가로세로 직접 넣는게 편한 듯.
e.g.
Mat.ones(rows, cols, datatype);
// rows * cols 사이즈의 matrix를 만들고 1로 채워준다. 들어가는 데이터타입은 CvType.CV_${해당비트} 로 정한다.
Mat.zeros(rows, cols, datatype);
// rows * cols 사이즈의 matrix를 만들고 0으로 채워준다. 들어가는 데이터타입은 CvType.CV_${해당비트} 로 정한다.
이때, 뒤에 type이 들어가는데
사실 그때그때 보면서 하면 되지만 헷갈려서 찾아봄..
푸리에변환 시에는 최소 32F로 해야 하는듯.. 2차원으로 실수와 허수를 나타낸다.
아래는 아마 C++에서의 OpenCV 내용인 것 같은데 (stackoverflow 에서 긁어옴)
Java 에서는 숫자도 붙고 종류도 더 많은 것 같다. 그건 나중에 찾아봄.
CV_8U - 8-bit unsigned integers ( 0..255 )
CV_8S - 8-bit signed integers ( -128..127 )
CV_16U - 16-bit unsigned integers ( 0..65535 )
CV_16S - 16-bit signed integers ( -32768..32767 )
CV_32S - 32-bit signed integers ( -2147483648..2147483647 )
CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )
CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )
8-bit unsigned integer (uchar)
8-bit signed integer (schar)
16-bit unsigned integer (ushort)
16-bit signed integer (short)
32-bit signed integer (int)
32-bit floating-point number (float)
64-bit floating-point number (double)
enum { CV_8U=0, CV_8S=1, CV_16U=2, CV_16S=3, CV_32S=4, CV_32F=5, CV_64F=6 };
something else..
2018/10/16 - [Programming/Java] - Java enum class 자바 이넘 클래스 (Singleton design pattern 처럼 사용방법)
2018/10/11 - [Programming/Design Pattern ] - Design pattern - Singleton (디자인패턴 - 싱글턴)
2018/10/08 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #12 SortByHeight
2018/10/06 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #11 IsLucky
2018/10/03 - [Algorithm/Code Signal (Code Fights)] - Aracade Intro #10 CommonCharacterCount