图像加载(读取)
imread()
Mat cv::imread( const String & filename,
int flag = IMREAD_COLOR //默认读取彩色图像
)
·filename:需要读取图像的文件名称,包含图像地址、名称和图像文件扩展名
·flags:读取图像形式的标志
图像显示
创建窗口:namedWindow()
void cv::nameWindow( const String & winname,
int flag = WINDOW_AUTOSIZE
)
·winname:窗口名称,用作窗口的标识符
·flags:窗口属性设置标志
显示图像:imshow()
void cv::imshow( const String & winname,
InputArray mat
)
·winname:要显示图像的窗口的名字,用字符串形式赋值
·mat:要显示的图像矩阵
图像保存
imwrite()
bool cv::imwrite ( const String & filename,
InputArray img,
const std::vector<int> & params = std::vector< int >()
)
·filename 保存图像的地址和文件名,包含图像格式
·img 将要保存的Mat类矩阵变量
·params 保存图片格式属性设置标志
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv; //opencv的命名空间
using namespace std;
int main()
{
Mat img; //存储读取的图像
img = imread("E:/opencv/opencv-4.6.0-vc14_vc15/opencv/lenac.jpeg", IMREAD_COLOR); //彩色图像
Mat gray = imread("E:/opencv/opencv-4.6.0-vc14_vc15/opencv/lenac.jpeg", IMREAD_GRAYSCALE); //灰度图像
namedWindow("img", WINDOW_AUTOSIZE); //自适应,不可调节大小
namedWindow("gray", WINDOW_NORMAL); //可调节大小
imshow("img", img);
imshow("gray", gray);
//vector<int> compression_params; //压缩形式
//compression_params.push_back(IMWRITE_PNG_COMPRESSION); //PNG形式
//compression_params.push_back(9); //压缩等级是9
imwrite("E:/opencv/opencv-4.6.0-vc14_vc15/opencv/lenac.png", img); //保存图片
waitKey(0);//不加这个图片会一闪而过,执行下面的命令
return 0;
}
结果