概述
OpenCV简介
OpenCV 的全称是 Open Source Computer Vision Library ,是一个跨平台的计算机视觉库。OpenCV 是由英特尔公司发起并参与开发,以 BSD 许可证授权发行,可以在商业和研究领域中免费使用。OpenCV 可用于开发实时的图像处理、计算机视觉以及模式识别程序。
OpenCV 的 CV 模块包含基本的图像处理函数和高级的计算机视觉算法。 ML 是机器学习库,包含一些基于统计的分类和聚类工具。HighGUI 包含图像和视频输入 / 输出的函数。CXCore 包含 OpenCV 的一些基本数据结构和相关函数。
环境部署
本人学习的是win10+opencv4+vs2019环境下,具体环境部署请查阅网络教程,请注意 由于新版本opencv有TBB异常报错BUG,故暂不采用最新的版本
测试代码
#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <cstring>
using namespace std;
using namespace cv;
int main()
{
Mat src = imread("E:/test/1626160913(1).png");
if (src.empty())
{
cout << "ERROR!";
return 0;
}
namedWindow("input", WINDOW_AUTOSIZE);
imshow("input", src);
waitKey(0);
destroyAllWindows();
return 0;
}
图像的加载显示与保存
图像的加载与主要依赖于以下几个API
imread函数(两个参数,“路径名称”,flag)
imread用于创造一个Mat(二维矩阵)对象,从本地路径中读取一个图片,如果读取失败,创建的Mat对象将会是NULL,注意:路径应该要是完整的路径,或者说是绝对路径。
flag用来指代需要读取什么类型的图像进来,这是预处理好的
Mat src = imread("E:/test/1626160913(1).png");
常用的flag有:
IMREAD_GRAYSCALE(加载灰度图)
IMREAD_ANYDEPTH
IMREAD_UNCHANGED(存在透明通道,不要改变我的通道数)
IMREAD_COLOR(HSV图和BGR图)
等
imshow函数(两个参数,“显示出来窗口的名称”,要传入进去的Mat对象)
一般以waitkey(0)来搭配,否则图片就一闪而过
只支持显示8位图像及浮点数的图像
imshow("input", src);
waitKey(0);
namedWindows函数(两个参数,“窗口名称”,flag)
namedWindow("input", WINDOW_FREERATIO);
imshow("input", src);
注意:这一个函数最重要的是窗口函数,这个窗口名字应该要与imshow上面对应的名字一致,这样才会在形成的windows中显示。
简单图像色彩空间转化及图像保存
cvtcolor函数
可以用来转化图像的类型,当我们需要一些比较特殊的图像类型的时候,比如说HSV或者BGR,都可以直接通过此API进行变换。具体用法示例
三个参数,包括图像入口,图像出口,图像加工方式
cvtColor(src, hsv, COLOR_BGR2HSV);
cvtColor(src, gray, COLOR_BGR2GRAY);
imwirte函数
三个参数(“保存路径”,保存的mat对象,)
imwrite("E:/test/save.jpg", hsv);
最后
以上就是故意身影为你收集整理的Opencv视觉处理(C++)语法学习(1) 环境部署与读取图片显示图片的基本函数OpenCV简介环境部署图像的加载显示与保存简单图像色彩空间转化及图像保存的全部内容,希望文章能够帮你解决Opencv视觉处理(C++)语法学习(1) 环境部署与读取图片显示图片的基本函数OpenCV简介环境部署图像的加载显示与保存简单图像色彩空间转化及图像保存所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复