OpenCV开发环境搭建及Qt程序设计-树莓派4B

一、资源包opencv4.7.0opencv_contrib4.7.0

二、编译器:12.2.0版本:aarch64-linux-gnu-gccgcc

三、OpenCV编译与安装

1、安装必要的依赖库

树莓派上,更新系统

sudo apt update

2、安装构建工具和图像 I/O

sudo apt install build-essential cmake pkg-config

sudo apt install libjpeg-dev libtiff5-dev libpng-dev

3、安装视频 I/O

sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt install libxvidcore-dev libx264-dev

4、安装 GTK 图形界面库(用于显示图像等)

sudo apt install libgtk2.0-dev libgtk-3-dev

5、安装优化的线性代数库

sudo apt install libatlas-base-dev gfortran

6、安装cmake-gui

sudo apt-get install cmake-gui 

可能出现错误:

解决办法:

xhost +local:username

username为登录树莓派的用户名

或者将文件夹opencv4.7.0和opencv_contrib4.7.0权限提升。

7、下载源码包

         树莓派上,在/home/pi目录或其它用户主目录下,下载opencv4.7.0opencv_contrib4.7.0源码:OpenCV 的官方 GitHub 仓库下载源代码。在终端中运行以下命令:

wget -O opencv.zip https://github.com/opencv/opencv/archive/4.7.0.zip

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.7.0.zip

8、解压OpenCV源码包

sudo unzip opencv-4.7.0.zip

sudo unzip opencv_contrib-4.7.0.zip

9、安装 OpenCV

(1)进入源码目录,创新build目录

cd opencv-4.7.0/

sudo mkdir build

(2)进入bulid/文件夹,启动cmake-gui,并进行配置

cd build/

sudo cmake-gui

(3)配置opencv源码路径、配置opencv/build路径,勾选 Advanced

(4)点击configure、选择Unix Makefiles、选择Use default native compilers、点击Finish,具体如下所示。

(5)在Search中搜索下面内容,并分别打上对勾:

a) SearchTIFF,勾选BUILD_TIFF;

b) SearchPNG,勾选BUILD_PNG;

c) SearchJPEG,勾选BUILD_JPEG;

d) SearchEXTRA,选择/home/pi/opencv_contrib-4.7.0/modules

e) SearchINSTALL,选择/usr/local

f) SearchGTK,勾选GTK_2_X

g) SearchPKG,选择勾选

h) SearchQT,选择勾选

 

i) SearchOPENGL,选择勾选

j) 先点击Configure,再点击Generate,再点击×退出cmake-gui

(6) 编译OpenCV

build/文件夹下,执行

sudo make -j4

(这里的 -j4 表示使用 4 个线程进行编译,可以根据树莓派的性能调整这个数字。)编译时间大约1小时以上

(7) 安装OpenCV

sudo make install

安装结束后可以在/usr/local目录下看到OpenCV的头文件和库目录。

四、基于OpenCV设计简单Qt程序

  1. 创建 Qt工程,命名为xxx_robot

2.创建成功后,修改.pro文件,添加头文件目录和库路径,如下所示

INCLUDEPATH += /usr/local/include \

               /usr/local/include/opencv2

LIBS += -lwiringPi \

LIBS +=$$system(pkg-config --libs opencv4)

3.在 main.cpp 里编写代码,在工程目录中存入一张图片,本例程为通过OpenCV显示图像,参考代码如下所示

#include <opencv2/opencv.hpp>

using namespace cv;

using namespace std;

int main()

{

    // 读入一张图片

       Mat img=imread("/home/pi/robot/robot/robot.jpg");

       // 创建一个名为 "机器人团子"窗口

       namedWindow("机器人团子");  //(窗口名称,窗口标识)

       // 在窗口中显示机器人团子

       imshow("机器人团子",img);//(显示窗口的名称,显示的图片)

       // “暂停程序,等待一个按键输入”,waitKey(1000),表示程序暂停执行1000毫秒!

       waitKey(0);

       return 0;

}

4.点击上图中左侧绿色三角,编译运行程序,可看到编译运行结果,表示代码运行正确,OpenCV环境搭建完成

猜你喜欢

转载自blog.csdn.net/yingyingnew/article/details/143054977