Point pt1, pt2(x,y);
double v = norm(pt2);
double pt3 = dot(pt1, pt2);
자료형
typedef Point_<int64> Point21;
typedef Point_<float> Point2f;
typedef Point_<double> Point2d;
typedef Point2i Point;
Size s1, s2(width, height);
int a = s2.area();
자료형
typedef Size_<int> Size2i;
typedef Size_<int64> Size21;
typedef Size_<float> Size2f;
typedef Size_<double> Size2d;
typedef Size2i Size;
Rect rc1, rc2(x, y, width, height);
Rect rc3 = rc1 + Size(width, height);
Rect rc4 = rc2 + Point(x, y);
자료형
typedef Rect_<int> Rect2i;
typedef Rect_<float> Rect2f;
typedef Rect_<double> Rect2d;
typedef Rect2i Rect;
크기가 4인 double 배열(double val [4]
)을 멤버 변수로 가지고 있는 클래스
4채널 이하의 영상에서 픽셀 값을 표현하는 용도로 자주 사용
[ ]
연산자를 통해 원소에 접근 가능
GRAYSCALE: [128, 0, 0, 0]
COLOR: [255, 255, 255, 0]
Scalar s1, s2(128), s3(255, 255, 255);
행렬의 깊이와 채널 수를 한꺼번에 나타내는 매크로 상수
Mat::type()
함수를 이용하여 참조
형식: CV_ 8UC1
비트 수 (8/16/32/64)
채널 수 (1, 2, 3, 4)
정수형의 부호(S/U) 또는 실수형(F)
+--------+----+----+----+----+------+------+------+------+
| | C1 | C2 | C3 | C4 | C(5) | C(6) | C(7) | C(8) |
+--------+----+----+----+----+------+------+------+------+
| CV_8U | 0 | 8 | 16 | 24 | 32 | 40 | 48 | 56 |
| CV_8S | 1 | 9 | 17 | 25 | 33 | 41 | 49 | 57 |
| CV_16U | 2 | 10 | 18 | 26 | 34 | 42 | 50 | 58 |
| CV_16S | 3 | 11 | 19 | 27 | 35 | 43 | 51 | 59 |
| CV_32S | 4 | 12 | 20 | 28 | 36 | 44 | 52 | 60 |
| CV_32F | 5 | 13 | 21 | 29 | 37 | 45 | 53 | 61 |
| CV_64F | 6 | 14 | 22 | 30 | 38 | 46 | 54 | 62 |
+--------+----+----+----+----+------+------+------+------+
Mat img1, img2(480, 640, CV_8UC1),
img3(Size(640, 480), CV_8UC3),
img4(480, 640, CV_8UC1, Scalar(128)),
img5(480, 640, CV_8UC1, 128),
img6(480, 640, CV_8UC3, Scalar(128, 0, 255));
Mat mat0 = Mat::zeros(src.rows, src.cols, CV_8UC1);
Mat mat1 = Mat::zeros(480, 640, CV_8UC1);
Mat mat2 = Mat::ones(480, 640, CV_8UC1);
Mat mat3 = Mat::eyes(3, 3, CV_8UC1);
float data[] = {1, 2, 3, 4, 5, 6};
Mat mat4(2, 3, CV_32FC1, data);
mat4.create(256, 256, CV_32U3);
mat4 = Scalar(255, 0, 0);
Mat img1 = imread("dog.bmp");
Mat img2 = img1;
Mat img3 = img1(Rect(x, y, width, height));
Mat mat1 = Mat::zeros(3, 4, CV_8UC1);
int list[Mat.area()] = {};
cnt = 0
for (int y = 0; y < mat1.rows; y++) {
for (int x = 0; x < mat1.cols; x++) {
list[cnt] = mat1.at<uchar>(y, x);
++cnt;
}
}
Mat img1 = imread("dog.bmp");
Mat img2 = img1.clone();
Mat img3;
img1.copyTo(img3);