opencv 加载 修改 保存 图像

 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 }

猜你喜欢

转载自www.cnblogs.com/Lin-Yi/p/9379447.html