1.前期工作
1.1安装图形界面
因为欧拉系统是服务器操作系统,没有图形界面,所以第一步是装上自己喜欢的图形界面。此例安装的是UKUI,其界面风格与window接近。
dnf install ukui -y
dnf groupinstall fonts –y
systemctl set-default graphical.target #默认使用图形界面,重启后生效
1.2安装qtcreator
OpenEuler22.03自带qt5,但是没有IDE不方便开发,所以第二步是安装qtcreator,可以在官网或一些国内镜像网站获取安装包,例如:Index of /qt/official_releases/qtcreator/ | 清华大学开源软件镜像站
下载完成后添加可执行权限,运行安装,此例安装的是qt-creator-opensource-linux-x86_64-4.15.2.run。安装过程只需要选择一下安装目录,其他一直点下一步即可。
安装完成后需要手动添加kit,运行qtcreator,在工具—>选项—>kits右侧的Qt Versions中添加本机的qmake,我的完整路径为/usr/lib64/qt5/bin/qmake,然后添加kits(参照下图)。
添加完就可以自己写一段Hello World验证是否成功了。
2.OpenCV安装与相关配置讲解
2.1安装OpenCV
先使用dnf查看软件源中是否有OpenCV ,查找到后直接使用命令dnf install opencv安装。
dnf update
dnf search opencv #查找名为opencv的安装包
dnf install opencv
2.2配置OpenCV
安装完OpenCV后需要添加到pkgconfig管理,方便我们写代码时调用。pkgconfig是一个使用后缀名为.pc的文件来管理软件包的工具,OpenEuler22.03系统中这些.pc文件放在/usr/lib64和/usr/lib64/pkgconfig目录下,在此目录搜索opencv可以看到已经存在了名为opencv4.pc的文件,这说明在安装opencv就已经被加入到pkgconfig的管理中了。文件内容见下图:
根据文件内容可知,OpenCV版本为4.5.2,库文件路径为/usr/lib64,头文件路径为/usr/include/opencv4。
所以,在Qt中要使用OpenCV,只需要在项目的pro文件中添加上CONFIG+=link_pkgconfig和PKGCONFIG+=opencv4即可
main.cpp内容如下:
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
using namespace cv;
using std::cout;
using std::endl;
int main()
{
std::string image_path = samples::findFile("test.jpeg");
Mat img = imread(image_path, IMREAD_COLOR);
if(img.empty())
{
std::cout << "Could not read the image: " << image_path << std::endl;
return 1;
}
Mat gray_img;
cvtColor(img, gray_img, COLOR_BGR2GRAY);
bool success = imwrite("test_gray.jpeg", gray_img);
cout << success << endl;
return 0;
}
在编译后生成的文件内放一张名为test.jpeg的图片,运行代码,效果如下:
3.海康相机SDK的使用
3.1获取海康SDK
在海康官网下载linux64位的SDK
3.2使用海康SDK预览和抓图
将SDK中的头文件和库文件复制到项目目录下,头文件在qtcreator中右键项目—>添加现有文件,库文件在pro文件中引入。
代码已上传,有需要可自行下载。