【opencv】opencv在windows和linux的应用

简介: 【opencv】opencv在windows和linux的应用

Opencv

opencv是一个开源的图形图像处理工具,具有对图像进行数学建模,对其进行一系列的处理,为图像的识别和训练做准备。

1、使用

(1)在相应的平台用对应的工具编译opencv的源码。

1)linux平台

配置–安装–编译

2)windows平台

CMake

编译会生成的目录包括:库文件、头文件、命令文件、工具文件…

windows 64位-----------------------opencv64.zip

arm-linux------------------------------opencv-3.4.4.arm.tar.bz2

(2)如何在windows的QT中使用opencv

1)解压opencv64.zip到工程源代码目录

2)将opencv的头文件路径、库文件路径、可执行程序路径加入到QT工程中

①在pro文件中添加头文件路径:

INCLUDEPATH += E:\GZ2142\11-Qt\code\s_project\MyWinOpencv\opencv64\include
INCLUDEPATH += E:\GZ2142\11-Qt\code\s_project\MyWinOpencv\opencv64\include\opencv
INCLUDEPATH += E:\GZ2142\11-Qt\code\s_project\MyWinOpencv\opencv64\include\opencv2

②在pro文件中添加库文件路径

LIBS += E:\GZ2142\11-Qt\code\s_project\MyWinOpencv\opencv64\x64\mingw\lib\libopencv*

如下图:

③添加运行时命令的路径

1、直接将可执行程序的路径加入到系统环境变量path中

步骤:【此电脑】-》【属性】-》【高级系统设置】-》【环境变量】-》【新建】

2、只修改本工程的path路径,添加

E:\GZ2142\11-Qt\code\s_project\MyWinOpencv\opencv64\x64\mingw\bin

3)使用opencv显示图片和视频

测试代码:

#include "mywinopencv.h"

#include <QApplication>
#include <opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgcodecs.hpp>

using namespace cv;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

#if 0
    //使用opencv显示一张图片
    Mat myimage = imread("E:/GZ2142/11-Qt/code/s_day05/1.jpg");
    imshow("Image",myimage);
    //等待
    waitKey(10);
#else
    Mat myimage;
    //获取摄像头
    VideoCapture video(0);
    //显示
    while(1){
        //获取一帧
        video>>myimage;
        //显示一帧
        imshow("Video",myimage);
        //延时
        waitKey(1);
    }

#endif

    MyWinOpencv w;
    w.show();
    return a.exec();
}

运行结果:

显示图片:

(3)在arm-linux中使用opencv


1)解压opencv-3.4.4.arm.tar.bz2到Ubuntu的/opt目录下

2)在工程文件中添加头文件和库文件路径

INCLUDEPATH += /opt/opencv/include
INCLUDEPATH += /opt/opencv/include/opencv
INCLUDEPATH += /opt/opencv/include/opencv2

LIBS += -L/opt/opencv/lib -lopencv_calib3d -lopencv_core -lopencv_dnn -lopencv_face \
        -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs \
        -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo \
        -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_videoio \
        -lopencv_video -lopencv_videostab


3)编写代码然后交叉编译,在开发板上运行

#include "myarmopencv.h"

#include <QApplication>
#include <opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgcodecs.hpp>

using namespace cv;

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    Mat myimage;

    MyArmOpencv w;
    w.show();
    return a.exec();
}


4)将opencv的所有库文件拷贝到开发板的某个目录,并且设置LD_LIBRARY_PATH环境变量(程序运行时动态库的搜索路径)。



export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/Even/opencv/lib

.

opencv的可执行程序的…/…/lib目录必须放上opencv的库文件


相关文章
|
23天前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
45 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
6天前
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
46 1
|
7天前
|
NoSQL IDE MongoDB
Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
22 0
Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
|
7天前
|
安全 Linux iOS开发
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Gti 服务
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Gti 服务
21 0
Gitea Enterprise 23.4.0 (Linux, macOS, Windows) - 本地部署的企业级 Gti 服务
|
11天前
|
数据管理 Linux iOS开发
Splunk Enterprise 9.4.1 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
Splunk Enterprise 9.4.1 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
20 0
Splunk Enterprise 9.4.1 (macOS, Linux, Windows) 发布 - 机器数据管理和分析
|
14天前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
26 0
Metasploit Framework 6.4.49 (macOS, Linux, Windows) - 开源渗透测试框架
|
21天前
|
机器学习/深度学习 安全 Linux
Linux 主要应用领域的归纳
服务器领域 Linux在服务器领域的应用是其最为广泛和成熟的领域之一。由于其开源、稳定、高效和安全的特性,Linux成为许多企业服务器的首选操作系统。 Web服务器:Linux是Web服务器的理想选择,因为它支持Apache、Nginx等流行的Web服务器软件,这些软件在Linux上运行稳定且性能卓越。Linux服务器可以高效地处理大量并发请求,提供快速、可靠的Web服务。 数据库服务器:Linux也广泛用于数据库服务器,如MySQL、PostgreSQL和Oracle等数据库管理系统在Linux上运行良好。Linux的稳定性和安全性使得它成为存储和管理敏感数据的理想平台。 邮件服务器:Lin
60 5
|
3月前
|
安全 网络协议 Linux
telnet在windows和linux上的使用方法
Telnet是一个简单且强大的网络工具,广泛用于远程管理和网络诊断。尽管存在安全风险,但在受控环境中,Telnet仍然是一个非常有用的工具。通过本文的介绍,您应该能够在Windows和Linux系统上安装并使用Telnet进行各种网络操作。
253 18
|
3月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
73 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
3月前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
284 8