OpenCV图像加载、显示与保存
加载:imread
显示:imshow
保存:imwrite
程序演示:
#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv) {
Mat src = imread("D:/VC2017_WORKSPACE/Images/dog.jpg");
if (src.empty()) {
printf("could not find image file");
return -1;
}
namedWindow("demo-001", WINDOW_AUTOSIZE);
imshow("demo-001", src);
waitKey(0);
destroyAllWindows();
return 0;
}
图像显示:
说明:
1、返回彩色图像IMREAD_COLOR
imread("D:/VC2017_WORKSPACE/Images/dog.jpg",IMREAD_COLOR);
2、返回灰度图像IMREAD_GRAYSCALE
imread("D:/VC2017_WORKSPACE/Images/dog.jpg",IMREAD_GRAYSCALE);
3、窗口适应图像(窗口大小无法调整)WINDOW_AUTOSIZE
namedWindow("demo-001", WINDOW_AUTOSIZE);
4、窗口大小可调整WINDOW_FREERATIO
或WINDOW_NORMAL
namedWindow("demo-001",WINDOW_FREERATIO);
namedWindow("demo-001",WINDOW_NORMAL);
5、如果加载一张带有透明通道图像(背景透明),显示时,背景会变成白色
imshow不支持透明通道显示。使用IMREAD_UNCHANGED
,然后保存才能看到透明通道效果(此处保存为testone.png)
imread("D:/VC2017_WORKSPACE/Images/dog.jpg",IMREAD_UNCHANGED);
imwrite("D:/VC2017_WORKSPACE/Images/Imwrite/testone.png",src);