c++图像处理
1、前言:
学习c++图像处理的同时,记录好笔记,打算写个系列的c++图像处理教程。
环境:vs2019,OpenCV4.1.0。
2、本次博客的主要内容
由浅入深的写c++图像处理的博客。本次图像处理的主要内容是:
- 图像的读入
- 图像的修改(颜色的变换)
- 图像的保存
1、图像的读入
imread()函数,即为图像的读入。
2、图像的修改,本次示例主要是修改图像的颜色,当然也可以是大小等等,根据个人的需要。
cvtColor()函数,通常需要将BGR格式转换为其他格式,如HSV、HLS等。
3、图像的保存
imwrite()函数,将修改或处理后的图像保存在自己的文件夹中。
示例图:
处理后:
3、图像处理
//引入OpenCV库
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main(int argc, char** args)
{
//1、读取图像
Mat img = imread("G:/imgtest/img.png");
//显示原图
namedWindow("img", WINDOW_AUTOSIZE);
imshow(""img",img);
//判断图像是否为空,为空就结束程序
if (img.empty())
{
printf("this img is empty");
return -1;
}
//进行颜色变换
Mat output;
cvtColor(img, output, COLOR_BGR2HSV);
//定义一个显示窗口
namedWindow("output", WINDOW_AUTOSIZE);
imshow("output", output);
//窗口停留
waitKey(0);
//保存图像
imwrite("G:/imgtest/result.png", output);
}
```