图片读写与展示
imread()
CV_EXPORTS_W Mat imread( const String& filename, int flags = IMREAD_COLOR );
- filename 图片绝对\相对路径
- flags 读取方式
imread中可选的flags
enum ImreadModes {
IMREAD_UNCHANGED = -1,
IMREAD_GRAYSCALE = 0,
IMREAD_COLOR = 1,
IMREAD_ANYDEPTH = 2,
IMREAD_ANYCOLOR = 4,
IMREAD_LOAD_GDAL = 8,
IMREAD_REDUCED_GRAYSCALE_2 = 16,
IMREAD_REDUCED_COLOR_2 = 17,
IMREAD_REDUCED_GRAYSCALE_4 = 32,
IMREAD_REDUCED_COLOR_4 = 33,
IMREAD_REDUCED_GRAYSCALE_8 = 64,
IMREAD_REDUCED_COLOR_8 = 65,
IMREAD_IGNORE_ORIENTATION = 128
};
imwrite()
CV_EXPORTS_W bool imwrite( const String& filename, InputArray img,
const std::vector<int>& params = std::vector<int>());
- filename 图片绝对\相对路径
- img 图片
- params 保存选项
namedWindow()
CV_EXPORTS_W void namedWindow(const String& winname, int flags = WINDOW_AUTOSIZE);
namedWindow中可选的flags
enum WindowFlags {
WINDOW_NORMAL = 0x00000000,
WINDOW_AUTOSIZE = 0x00000001,
WINDOW_OPENGL = 0x00001000,
WINDOW_FULLSCREEN = 1,
WINDOW_FREERATIO = 0x00000100,
WINDOW_KEEPRATIO = 0x00000000,
WINDOW_GUI_EXPANDED=0x00000000,
WINDOW_GUI_NORMAL = 0x00000010,
};
cvtColor()
CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );
- src 输入图像
- dst 转换结果
- code 转换方式(有很多选择,可以自己看枚举)
简单代码
# include <opencv2/opencv.hpp>
#include <iostream>
#include <math.h>
using namespace std;
using namespace cv;
int main()
{
Mat src = imread("2.jpg",IMREAD_COLOR);
Mat output_img;
if (src.empty()) return -1;
cvtColor(src, output_img, COLOR_BGR2GRAY);
namedWindow("load&save demo", WINDOW_AUTOSIZE);
namedWindow("Out put img", WINDOW_GUI_NORMAL);
imshow("load&save demo", src);
imshow("Out put img", output_img);
waitKey(0);
imwrite("2.tif", src);
return 0;
}
