1 #include <opencv2/opencv.hpp>
2 #include <iostream>
3
4 using namespace cv;
5 /*
6 1 加载图像
7 cv::imread() 加载图像为一个Mat对象
8 第一个参数 文件路径
9 第二个参数 加载文件类型 常见三个:
10 IMREAD_UNCHANGED(<0) 加载原图,不做改变
11 IMREAD_GRAYSCALE(0) 作为灰度图像加载进来
12 IMREAD_COLOR(>0) 作为rgb图像加载进来
13 opencv支持jpg、png、tiff等常见格式图像文件加载
14
15 2 显示图片
16 cv::namedWindows()
17 cv::imshow()
18
19 常见用法:
20 namedWindow("窗口名称", WINDOW_AUTOSIZE)
21 WINDOW_AUTOSIZE 自动控制窗口大小
22 WINDOW_NORMAL 跟qt集成时候使用 允许修改窗口大小
23 imshow("窗口名", Mat对象)
24
25 3 图像变换
26 cv::cvtColor(原图像, 转换后的图像, 转换空间)
27 将图像从一个色彩空间转换到另一个色彩空间
28 转换空间:
29 COLOR_BGR2HLS
30 COLOR_BGR2GRAY
31
32
33 4 保存图像 cv::imwrite(路径, Mat对象)
34 会根据路径拓展名 生成文件
35
36 */
37
38 int main() {
39 //Mat src = imread("d:/图片/m1.jpeg", IMREAD_UNCHANGED); // 原图加载 不做修改
40
41 //Mat src = imread("d:/图片/m1.jpeg", IMREAD_GRAYSCALE); // 作为灰度图像加载
42
43 Mat src = imread("d:/图片/m1.jpeg", IMREAD_COLOR); // 作为RBG图像加载
44 namedWindow("显示图像", CV_WINDOW_AUTOSIZE);
45 imshow("显示图像", src);
46
47 // 进行图像转换
48 namedWindow("转换图像", CV_WINDOW_AUTOSIZE);
49 Mat output_image;
50 cvtColor(src, output_image, CV_BGR2HLS); // H L S
51 imshow("转换图像", output_image);
52
53 imwrite("d:/图片/m1_change.png", output_image);
54
55 waitKey(0);
56 return 0;
57 }