CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
是OpenCV库中用于读取图像的函数。这个函数从指定的文件读取一张图像,并返回一个Mat
对象,这个对象包含了图像的像素数据。下面是这个函数的详细解释:
参数:
-
filename:
- 类型:
const String&
- 描述:要读取的图像文件的名称(包括路径)。支持的文件格式有JPEG, PNG, PPM, PGM, PBM, XPM, BMP等。
- 类型:
-
flags:
- 类型:
int
- 默认值:
IMREAD_COLOR
- 描述:这个标志决定了图像读取的方式。常用的标志有:
IMREAD_COLOR
:默认值,读取彩色图像。任何图像的透明度都会被忽略。IMREAD_GRAYSCALE
:以灰度模式读取图像。IMREAD_UNCHANGED
:读取图像,包括其alpha通道(如果存在的话)。
- 类型:
返回值:
- 类型:
Mat
- 描述:如果读取成功,函数将返回一个包含图像数据的
Mat
对象。如果读取失败,例如文件不存在或不支持的文件格式,将返回一个空的Mat
对象。
示例用法:
#include <opencv2/opencv.hpp>
using namespace cv;
int main() {
Mat img = imread("path_to_image.jpg", IMREAD_COLOR);
if (img.empty()) {
std::cout << "Could not read the image" << std::endl;
return -1;
}
// 此时可以对img进行进一步的处理或显示
imshow("Loaded Image", img);
waitKey(0);
return 0;
}
在这个示例中,imread
函数尝试从指定路径加载一张彩色图像。如果加载成功,图像将被显示在屏幕上;如果加载失败,程序将输出一个错误消息。