在我们刚开始编写opencv程序的时候,会用到imread()函数,然后里面会有参数CV_LOAD_IMAGE_UNCHANGED
那么这个代表什么意思呢?
imread()函数的声明如下:
1
|
CV_EXPORTS_W Mat imread( const string& filename, int flags=1 ); |
它的参数:
- filename —— 文件的位置。如果只提供文件名,那么文件应该和C++文件在同一目录,否则必须提供图片的全路径。
- flags —— 有5个可能的输入。
- CV_LOAD_IMAGE_UNCHANGED – 在每个通道中,每个像素的位深为8 bit,通道数(颜色)保持不变。
- CV_LOAD_IMAGE_GRAYSCALE – 位深=8 bit 通道数=1(颜色变灰)
- CV_LOAD_IMAGE_COLOR -位深=?, 通道数=3
- CV_LOAD_IMAGE_ANYDEPTH – 位深不变 ,通道数=?
- CV_LOAD_IMAGE_ANYCOLOR – 位深=?, 通道数不变
上面的值还可以组合使用,比如:
CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR – 位深不变,通道数比便
CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYDEPTH – 位深不变,通道数=3
如果你不确定使用哪个,就是用CV_LOAD_IMAGE_COLOR 。