加载图像
OpenCV中关于图像读写有两个函数imread与imwrite,imread加载的时候支持灰度图像、彩色图像、原始图像加载,默认情况下通过imread加载的图像都是三通道的BGR彩色图像。
但是实际上OpenCV支持加载任意通道的图像,首先来仔细再看一下imread函数
Mat cv::imread(
const String & filename,
int flags = IMREAD_COLOR
)
在不修改第二个参数flags的默认值情况下,我们经常这样使用该函数:
Mat image = imread("D:/images/test.png");
if (image.empty()) {
printf("could not load image...\n");
return -1;
}
当我们需要把加载图像始终以灰度图像出现时候:
Mat gray = imread("D:/images/dannis2.jpg", IMREAD_GRAYSCALE);
if (gray.empty()) {
printf("could not load image...\n");
return -1;
}
当我们需要把具有透明通道或者任意通道的图像加载进来不做任何改变时候: