写在开头
历经重重阻难,OpenCV环境终于于北京时间2020.10.07凌晨12:36配置成功,感谢东晓的睿智头颅!在这充满纪念意义的一天,让我们开始第一章的学习[狗头]
标配头文件
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv
;
Mat 类简析
Mat 类是用于保存图像以及其他矩阵数据的数据结构,默认情况下其尺寸为0 定义一个Mat 类对象,可以写 cv::Mat pic(320, 640, cv::Scalar(100));
图像载入与显示
图像载入原型:Mat imread(const strings& filename, intflags=1); 第一个参数载入图片的路径名 第二个参数载入标识,指定一个加载图像的颜色类型
图像显示原型:void imshow(const string& winname, InputArray mat); 第一个参数填需要显示窗口的标识名称 第二个参数填需要显示的图像
输出图像到文件 imwrite() 函数
函数原型:bool imwrite(const strings& filename, InputArray img, const vector< int >& params=vector< int >());
第一个参数填需要写入的文件名第二个参数填 Mat 类型的图像数据第三个参数表示特定格式保存的参数编码
综合示例
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
using namespace cv
;
int main()
{
Mat girl
= imread("girl.jpg");
namedWindow("【1】动漫图");
imshow("【1】动漫图", girl
);
Mat image
= imread("dota.jpg", 199);
Mat logo
= imread("dota_logo.jpg");
namedWindow("【2】原画图");
imshow("【2】原画图", image
);
namedWindow("【3】logo图");
imshow("【3】logo图", logo
);
Mat imageROI
;
imageROI
= image(Rect(0, 0, logo
.cols
, logo
.rows
));
addWeighted(imageROI
, 0.5, logo
, 0.3, 0, imageROI
);
namedWindow("【4】原画+logo图");
imshow("【4】原画+logo图", image
);
waitKey(0);
return 0;
}
(程序异常中断)
创建滑动条