码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【WSL】【Opencv】【MNN】【C++】在windows中使用WSL开发C++程序的环境搭建


    文章目录

    • 基本环境
    • Ubuntu安装Opencv
      • 从源码安装opencv-4.x
      • 从源码安装opencv-3.x
      • 直接pkg包安装
      • freetype支持
    • CLion工程cmake文件写法
    • Opencv demo
    • MNN
      • mnn文档
      • 在Ubuntu编译MNN
      • CLion中使用

    基本环境

    (1)安装WSL;
    (2)安装cmake:

    wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0-linux-x86_64.tar.gz
    tar -xzvf cmake-3.20.0-linux-x86_64.tar.gz
    sudo ln -sf $(pwd)/cmake-3.20.0-linux-x86_64/bin/* /usr/bin/
    
    • 1
    • 2
    • 3

    (3)安装gcc++:

    # 如果 Ubuntu 版本 < 18.04,需要加入仓库
    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc
    sudo apt-get install g++
    
    • 1
    • 2
    • 3
    • 4
    • 5

    (4)安装GDB:

    sudo apt install gdb
    
    • 1

    (5)clion建立空工程后选择toolchains如下:
    在这里插入图片描述

    Ubuntu安装Opencv

    从源码安装opencv-4.x

    依赖:

    sudo apt install build-essential cmake git pkg-config libgtk-3-dev \
        libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \
        libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \
        gfortran openexr libatlas-base-dev python3-dev python3-numpy \
        libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \
        libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    去github下载最新包:https://github.com/opencv/opencv.git

    或者去官网下载 一个版本:https://opencv.org/releases/

    cd opencv-4.x
    mkdir -p build && cd build
    cmake -D CMAKE_BUILD_TYPE=RELEASE ..
    make -j8
    sudo make install 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    从源码安装opencv-3.x

    方法同opencv-4.x,但安装路径有区别,得注意。

    直接pkg包安装

    不想编译也ok,直接:

    sudo apt-get install -y libopencv-dev
    
    • 1

    freetype支持

    https://cloud.tencent.com/developer/article/1353734

    CLion工程cmake文件写法

    # 声明要求的 cmake 最低版本
    cmake_minimum_required( VERSION 3.8 )
    
    # 声明一个 cmake 工程
    project( cpptest )
    
    # 设置编译模式
    set( CMAKE_BUILD_TYPE "Debug"  )
    
    #set(OpenCV_DIR "/usr/local/share/OpenCV")
    set(OpenCV_DIR "/usr/local/share/opencv4") # 给一个安装路径
    find_package( OpenCV REQUIRED ) # 找包
    
    #添加OpenCV头文件
    include_directories(${
       OpenCV_INCLUDE_DIRS})
    
    message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
    message(STATUS "OpenCV_LIBS: ${OpenCV_LIBS}")
    
    # 添加一个可执行程序
    # 语法:add_executable( 程序名 源代码文件 )
    add_executable( cpptest main.cpp)
    
    # 将库文件链接到可执行程序上
    target_link_libraries( cpptest  ${
       OpenCV_LIBS})
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    Opencv demo

    #include 
    #include//opencv简单程序标配头文件
    using namespace cv;//使用cv命名空间
    
    int main()
    {
        Mat src=imread("/mnt/c/Users/kevin/Desktop/img.png");//读取图片,要提前将图片放在程序路径下
        imwrite("/mnt/c/Users/kevin/Desktop/img2.jpg",src);//保存结果图片
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    MNN

    mnn文档

    https://mnn-docs.readthedocs.io/en/latest/compile/engine.html

    在Ubuntu编译MNN

    sudo apt install protobuf-compiler
    
    # 下载mnn源码后:
    
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    jrtplib开源库系列之三:jrtplib发送接收数据流程
    Python文件处理相关操作
    海康/大华/华为等摄像头或者录像机无法通过GB28181注册到国标平台LiveGBS的问题排查方法...
    第四十九章 开发自定义标签 - 在action之外使用<csr>标签
    Day 84
    我的项目——不爱听书系统
    凭什么Java程序员的工资那么高,原来要“啃透”这999页阿里P7学习笔记
    iOS高级理论:常用的架构模式
    Let‘s Encrypt 使用
    【毕业设计】深度学习车道线检测与识别系统 - python 机器视觉
  • 原文地址:https://blog.csdn.net/x1131230123/article/details/128000748
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号