首页 > 编程语言 >最简最速!C++版OpenCV安装配置教程Win/Mac!!!

最简最速!C++版OpenCV安装配置教程Win/Mac!!!

时间:2024-08-28 23:22:02浏览次数:14  
标签:最简 OpenCV Win 安装 编译 文件夹 报错 Clion 最速

Clion+OpenCV(C++版)开发环境配置教程Win/Mac

        平时在学习和比赛的时候都是使用的Python版本的OpenCV,最近遇到了一个项目使用的上位机性能有限于是决定视觉方面使用C++的OpenCV来节约上位机资源提高运行的速度,在查阅了网上的各种资料后发现这些资料参差不齐有些博客的方法绕来绕去,有些博客每一步也不太详细,于是决定自己记录分享一下自己配置环境的过程以供大家参考。

Windows配置方法

一、下载相关软件和工具

        这里给出一些开发配置环境过程中需要用到的软件以及工具,在这里给出本人亲测可以使用的链接,如果打不开或者下载速度慢可以试试Science on the Internet

​      · Clion:CLion: A Cross-Platform IDE for C and C++ by JetBrains

​      · OpenCV:OpenCV 4.10.0_Github

        下载Winodws版本的exe安装文件

      · Cmake:Cmake_Binary distributions

​        在Binary distributions这一栏中选择适合自己的版本进行下载

1

  注意事项:

​     · Clion和OpenCV建议下载最新的版本

​     · 如果OpenCV需要使用前版本的话需要额外重新下载MinGW

​     · 所有安装路径不要出现中文!一定不要有中文!!!

二、安装过程

!!!再次检查自己电脑中是否已经下载好了Clion、OpenCV、Cmake的安装包。!!!

(一)Clion的安装

        Clion 是 Jetson 推出的一个C和C++集成开发环境,其可以支持嵌入式开发,虽然这个软件是收费的但如果你是学生或者教育工作者的话均可以申请免费使用但是速度通过速度较慢大致需要1Days的样子,还有一种方式在此不做过多的赘叙(为何你不看看万能的Tao宝呢???)同时由于Clion自带MinGW,所以其实配置C语言环境的过程中不需要像其他网上的教程所说重新下载一遍MinGW!!!

        Clion的安装较为简单,在此就不详细展开唯一要注意的便是在安装的界面中记得勾选"添加Bin文件到PATH"免得后期自己添加过于麻烦,只不过安装完成之后需要重启一下更新系统环境变量

2

(二)下载编译OpenCV

        接下来打开我们从Github下载的OpenCV“opencv-4.10.0-windows.exe”安装包,双击运行之后会让读者选择一个目录解压生成一个OpenCV的文件包,里面有两个文件夹一个"build"是官方已经预编译好可以直接使用的C++功能包,还有一个"sources"是对应的源码。具体如下图:

3

        虽然我们可以直接使用官方编译好的文件进行开发,但是我们自己电脑Clion的MinGW和其他环境与已经编译好的不匹配容易出现一些比较奇怪的问题,因此建议大家重新进行编译,这时就需要用到我们的Cmake了,我们打开我们最开始下载的Cmake安装包,在Bin文件中可以找到"cmake_gui.exe"这个软件双击打开。

4

        打开Cmake后接着我们把Clion自带的MinGW添加到系统环境变量用以编译,首先打开系统设置,在搜索框搜索"环境"选择编辑系统环境变量,在弹出的窗口选择"环境变量"一项

ocd2

        接着在下方"系统变量"窗格双击"Path"即可进入系统环境变量的编辑窗口

ocd3

        接着在弹出的窗口点击浏览后找到Clion的安装路径选择"bin"->“mingw”->"bin"即可

5

        添加MinGw到环境变量后我们便可以开始编译了,我们打开Cmake,在第一栏路径中选择我们一开始解压生成的OpenCV的源码文件夹"sources",接着在第三栏中添加一个编译文件的存放地址,这个地址可以自主选择建议在opencv源码的统计目录下创建一个新的易于分辨的文件夹存放,接着便可以点击左下角的Configure进行配置了(第一次点击会弹出编译选项,在下拉框中选择MinGW MakeFiles后点击Finish即可开始配置)

6 7

        在这个过程中可能会出现编译失败,这时我们不要着急,一般会出现的报错只有两种第一种是一开始会提示找不到MinGW这种一般是环境变量添加失败导致的,如果检查之后发现环境变量没有问题的话可以重启一下电脑更新配置,然后如果是在配置过程中报错或者是失败一般是源码中的ffmpeg文件夹缺少文件编译器自动下载失败(没XXXX的话会很慢甚至失败,建议从log中复制地址到浏览器自行下载后添加进opencv源码中的ffmpeg文件夹),每次重新开始配置的话记得删掉编译的文件夹!!!(删掉存放目录就好)避免之前的报错对本次产生影响。

    如果log窗口显示(Configure Done)即配置成功。

8

    接下来我们便可以点击"Generate"来生成MakeFiles,出现"Generate Done!"即生成成功

9

        这时我们便可以打开我们创建的编译目录(我的叫mingw_build),接着在当前的文件夹打开CMD后(在文件夹上方路径窗格输入CMD即可在当前文件夹路径打开CMD)在出现的CMD窗口中输入"mingw32-make -j4"即可开始编译(-j4为使用4线程进行编译的意思,如果电脑配置较高可以适当改大编译的线程数来加速编译)

10

    如图便开始了编译

11

        中间没有出现红色的报错即编译完成,如果中间有报错有可能是因为MinGw与OpenCV版本不兼容,最新的OpenCV与最新的CLion中自带的MinGW是可以完美适配的如果编译出现问题可以查看版本来适当升高或者降低MinGW/OpenCV的版本

13

    编译没有出错后我们便可以再次输入"mingw32-make install"来生成我们编译好的环境安装包

14

    这个过程一般不会报错

14

    如下图即为安装完成,接着我们把编译生成的环境安装包的bin文件夹(“opencv”->“mingw_build”->“install”->“x64”->“mingw”->“bin”)添加到环境变量即可

15

    至此!Windows下OpenCV的C++版本已经安装完成啦,在Clion中的使用方法请看最后一节

Mac配置方法

        Mac电脑运行的Mac OS的内核是由Unix演化而来的,因此Mac系统也有着和Linux一样的包管理工具,最知名的便是HomeBrew,通过这一个工具我们便可以一键配置好OpenCV的开发环境非常的便捷。想要安装OpenCV我们需要先安装HomeBrew,接下来我们便一步一步优雅的配置OpenCV的环境。

#首先检查电脑中有无HomeBrew的环境
brew -v  #有输出的话便代表电脑中存在HomeBrew
#如果有HomeBrew,先进行卸载
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
#类似于ROS,HomeBrew也有大神做了一个一键自动化安装脚本(但可能需要Science on the Internet)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" #根据提示一步步安装即可

    安装完HomeBrew后我们便可以一行命令安装好OpenCV啦

brew install opencv     #安装OpenCV

    耐心等待运行完成即可

至此!Mac下OpenCV的C++版本已经安装完成啦,在Clion中的使用方法请看最后一节

测试OpenCV

    我们在Clion中新建一个工程,然后修改默认生成的CmakeLists文件

cmake_minimum_required(VERSION 3.19)
project(untitled)

set(CMAKE_CXX_STANDARD 11)

find_package(OpenCV)

include_directories(${OpenCV_INCLUDE_DIRS})

add_executable(untitled main.cpp)

target_link_libraries(untitled ${OpenCV_LIBS})

    接着运行以下代码

#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main() {
    Mat srcImage = imread("你的图片路径");
    if (!srcImage.data) {
        std::cout << "Image not loaded";
        return -1;
    }
    imshow("image", srcImage);
    waitKey(0);
    return 0;
}

    无报错且正常显示了图片即代表安装成功!!!

可能出现的报错

  1. 运行brew install opencv报错:Error: /usr/local/opt/qt is not a valid keg

    首先将/usr/local/opt/qt文件夹下的内容进行删除(建议备份一下):

    # 拷贝来进行备份,将xxxxx替换为你的用户名
    cp -r /usr/local/opt/qt /Users/xxxxx/
    # 删除文件,如果需要root权限就sudo一下
    rm -r /usr/local/opt/qt
    

    根据brew doctor的提示,建立符号连接:

     brew link --overwrite qt
    

    然后再运行安装或更新命令就可以了

     brew install qt
     # 或
     brew upgrade
    

大家在配置的过程中遇到了什么问题欢迎来找我解决或者找我完善补充本教程!

大家在配置的过程中遇到了什么问题欢迎来找我解决或者找我完善补充本教程!

大家在配置的过程中遇到了什么问题欢迎来找我解决或者找我完善补充本教程!

标签:最简,OpenCV,Win,安装,编译,文件夹,报错,Clion,最速
From: https://blog.csdn.net/xiongqi123123/article/details/141652333

相关文章

  • Clion+OpenCV(C++版)开发环境配置教程WinMac
    Clion+OpenCV(C++版)开发环境配置教程Win/Mac        平时在学习和比赛的时候都是使用的Python版本的OpenCV,最近遇到了一个项目使用的上位机性能有限于是决定视觉方面使用C++的OpenCV来节约上位机资源提高运行的速度,在查阅了网上的各种资料后发现这些资料参差不齐有些博......
  • Windows Edge 兼容性问题修复
    ​大家好,我是程序员小羊!前言:WindowsEdge浏览器自2015年发布以来,经历了多次更新与优化,尤其在2020年基于Chromium引擎的新版Edge浏览器发布后,其功能和兼容性大幅提升。然而,尽管如此,开发者在使用Edge浏览器时仍可能遇到兼容性问题。本文将详细分析这些兼容性问题......
  • C# Winfrom中数据的双向绑定(使用INotifyPropertyChanged)
    在WPF中新建项目是自动实现了INotifyPropertyChanged接口,用于数据绑定时非常的方便在winfrom中也可以实现INotifyPropertyChanged接口将需要绑定的字段写到一个类中,用这个类实现INotifyPropertyChanged接口publicclassUser:INotifyPropertyChanged{publiceventProper......
  • windows如何实现nohup?(未解决)
    背景今天在linux上搞后台任务,突发奇想powershell是否可以在关闭窗口后继续执行任务。探究以下的解决方法基本出自该帖https://www.v2ex.com/t/846505测试脚本,每一秒打印一个数字,逐渐递增。#PrintNumbers.ps1#初始化计数器$i=1#无限循环,直到脚本被中断while($true......
  • Maui Blazor Windows 显示本地图片新方法更简单快速 支持.Net 8.0 最新版本
    目前仅Windows平台测试,安卓平台暂不支持,调用AppDomain.CurrentDomain.BaseDirectory,直接储存图片到wwwroot里的images文件夹内,在razor里直接使用<imgsrc="images/图片路径"/>即可privatevoidSetAvarta(){MainThread.BeginInvokeOnMainThread......
  • Launcher start App WINDOWING_MODE_FREEFORM
    WINDOWING_MODE_FREEFORMstartApp核心思路:这个windowmode需要从FullScreen--->Freeform,需要在startActivity时候携带相关相关参数,把windowmode和launchBounds进行设置。AndroidT+++b/frameworks/base/core/java/android/app/Instrumentation.java@@-1798,6+1798,7......
  • 使用跨平台库SixLabors.ImageSharp.Drawing生成图片验证码
     ///<summary>///绘制图片验证码///</summary>///<paramname="webRootPath"></param>///<paramname="width"></param>///<paramname="height"></param>///<returns>&......
  • 最新ps2024软件:Photoshop 2024 (Win&Mac)直装版
    Photoshop2024是AdobeSystems发布的最新版图像编辑软件,它继承了Photoshop系列一贯的强大功能和专业特性,并在此基础上进行了多项改进和优化。Photoshop2024作为Adobe的旗舰级图像编辑软件,不仅继承了前代产品的优秀特性,还在功能和性能上进行了显著提升。它凭借强大的图像处......
  • Windows版本下Redis安装与使用
    一、windows环境安装redis1、下载Redis压缩包2、解压到文件夹3、启动Redis服务4、打开Redis客户端进行连接5、使用一些基础操作来测试6、Redis常用的服务指令7、java项目集成redis8、常见报错和相关指令9、cmd指令查看关闭端口进程一、windows环境安装redis1、下载Redis......
  • 是否有一款低代码或零代码工具,能代替或减少VC、Qt、C#、WinForm、WPF等前端界面开发工
    确实存在低代码或零代码工具,能够代替或减少VC(VisualC++)、Qt、C#、WinForm、WPF等前端界面开发的工作量。这些工具通过提供图形用户界面(GUI)和可视化开发工具,使得开发者无需或仅需少量编写代码即可快速搭建出功能丰富的应用程序界面。低代码/零代码工具的优势降低开发门槛:这些工......