当我在OpenCV文档中找不到任何内容时,我感到很惊讶 - 用语言 - 各种类型代表什么,谷歌搜索也没什么帮助.我知道CV_8UC1是灰度级的,但CV_8UC3代表什么?是RGB吗?还是YUV?
另外,其他定义呢types_c.h
(他们也没有评论).是否存在命名约定的模式?我可以从他们的名字中解释他们的特征是什么,比如颜色等吗?
#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))
Run Code Online (Sandbox Code Playgroud)
san*_*iso 13
命名模式描述了数据如何在PC存储器中实际布局,并且与图像类型没有直接关系.实际上,数据布局和图像类型是分离的.
您可能已经找到了CV_XX模式的含义(即数据布局).
对于图像数据类型,如果您要求OpenCV将图像作为彩色图像加载,它会将其作为BGR图像加载并将其数据布局为CV_8UC3.有几点需要注意:
imgproc
,即cv::cvtColor()
.但是,所有数据布局和图像类型都不兼容,请查看doc ;cv::imwrite()
会写一个没有alpha的3通道图像.大多数处理功能要么专用于单通道图像,要么对所有通道应用相同的处理;CV_8UC1
,默认为空矩阵. 归档时间: |
|
查看次数: |
55149 次 |
最近记录: |