728x90
Vec 클래스 : 작은 개수의 원소로 구성된 벡터를 표현하는 클래스, OpevCV에서 유용하게 사용된다.
Vec<num-of-data>{b|s|w|i|f|d}
<num-of-data>에는 2, 3, 4 등 작은 숫자를 지정할 수 있다
b는 uchar
s는 short
w는 ushort
i는 int
f는 float
d은 double 자료형을 의미
typedef Vec<uchar, 2> Vec2b; //2~4
typedef Vec<short, 3> Vec3c; //2~4
typedef Vec<ushort, 4> Vec4w; //2~4
typedef Vec<int, 8> Vec8i; //2, 3, 4, 6, 8
typedef Vec<float, 6> Vec6f; //2, 3, 4, 6
typedef Vec<double, 6> Vec6d; //2, 3, 4, 6
Vec3b p1, p2(0, 0, 255); //Vec<uchar, 3>
//p1은 0으로 전부 초기화
//p2는 0, 0, 255로 초기화
p1[0] = 100;
cout << "p1: " << p1 << endl;
//p1: [100, 0, 0]
cout << "p2: " << p2 << endl;
//p2: [0, 0, 255]
Scalar 클래스 : Mat 클래스 다음으로 자주 사용하는 클래스, 4채널 이하의 영상에서 픽셀 값을 표현하는 용도로 사용
Scalar(밝기)
Scalar(파란색, 녹색, 빨간색)
Scalar(파란색, 녹색, 빨간, 투명보)
Scalar gray = 128;
cout << "gray: " << gray << endl;
//gray: [128, 0, 0, 0]
Scalar yellow(0, 255, 255);
cout << "yellow: " << yellow << endl;
//yellow: [0, 255, 255, 0]
Mat img1(256, 256, CV_8UC3, yellow); //노란색으로 초기화 된 256x256 크기의 컬러 영상 img1 생성
for (int i = 0; i < 4; i++)
cout << yellow.val[i] << ", " << yellow[i] << endl;
/*
0, 0
255, 255
255, 255
0, 0
*/
728x90
'런닝머신 (ML)' 카테고리의 다른 글
[컴퓨터 비전 & 머신러닝] 카메라와 동영상 파일 다루기 (0) | 2023.03.23 |
---|---|
[컴퓨터 비전 & 머신러닝] InputArray와 OutputArray 클래스 (0) | 2023.03.20 |
[컴퓨터 비전 & 머신러닝] Open CV Mat 클래스 (0) | 2023.03.16 |
[컴퓨터 비전 & 머신러닝] Open CV 기본 자료형 클래스 (0) | 2023.03.07 |
[컴퓨터 비전 & 머신러닝] Visual Studio OpenCV 설치 방법 및 주요 함수 (0) | 2023.02.21 |