Tôi đã rất ngạc nhiên khi tôi không thể tìm thấy bất cứ điều gì trong tài liệu OpenCV mô tả - với các từ - những loại khác nhau phù hợp, và Googling cũng không giúp được gì nhiều. Tôi biết rằng CV_8UC1 có thang màu xám, nhưng CV_8UC3 là gì? Có phải RGB không? Hoặc YUV?CV_8UC3 và các loại khác có trong OpenCV là gì?
Ngoài ra, còn các định nghĩa khác từ types_c.h
(chúng cũng thiếu nhận xét). Có một mô hình cho quy ước đặt tên là gì không? Tôi có thể diễn giải từ tên của họ thành các tính năng của họ, như màu sắc, v.v. không?
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
"nó không bắt buộc nó" - nhưng tôi cho rằng các hàm như 'cv :: imread' sẽ điền chúng với giá trị RGB? – sashoalm
Điều đó tùy thuộc vào các cờ được chuyển đến 'imread'. Nhưng nếu bạn vượt qua 'CV_LOAD_IMAGE_COLOR' thì đầu ra luôn là BGR, là định dạng màu mà OpenCV thường sử dụng. –
Những gì tôi có nghĩa là trong bài viết của tôi là chỉ vì một ma trận/hình ảnh có loại 'CV_8UC3' không nhất thiết có nghĩa là nó là BGR. Nó cũng có thể là HSV, hoặc cái gì đó không phải là thông tin màu sắc. –