前言
继Matlab后,OpenCV成了最近这段时间的主攻学习目标。本科有学过一阵OpenCV,也做过项目,但整体学习不够系统,部分知识也遗忘,再加上OpenCV加入了许多新的内容,故重拾OpenCV。知识,永远不会嫌多。话不多说,直接上代码。
参考网站:https://docs.opencv.org/master/d9/df8/tutorial_root.html
读取和显示图片
#include <opencv2/core.hpp> // 定义了库的基本构建块
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp> // 包含了输入和输出操作的函数
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
String imageName("../data/lena.jpg");
if (argc > 1)
{
imageName = argv[1];
}
Mat image;
image = imread(imageName, IMREAD_COLOR); // 读取图像:IMREAD_UNCHANGED、IMREAD_GRAYSCALE、IMREAD_COLOR
if (image.empty())
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
namedWindow("Display window", WINDOW_AUTOSIZE); // 创建窗口
imshow("Display window", image); // 显示图像
waitKey(0); // 等待按键响应
return 0;
}
运行结果
加载,修改和保存图像
#include <opencv2/opencv.hpp&g