Mac使用homebrew安装OpenCV并运行Yolo-cpp-opencv笔记

1.安装homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2.安装OpenCV

brew install opencv

安装目录为 /usr/local/Cellar/opencv

使用OpenCV遇到的坑

#include<opencv2/opencv.hpp>

会报错:

1.fatal error: ‘opencv2/opencv.hpp’ file not found

进入/usr/local/include目录,发现并没有opencv2目录,opencv实际上的目录为/usr/local/include/opencv4/opencv2,因此可以在目录/usr/local/inlcude中创建一个软连接指向opencv2

ln -s /usr/local/include/opencv4/opencv2 opencv2
注:ln命令
  • ln(英文全拼:link files)命令:它的功能是为某一个文件在另外一个位置建立一个同步的链接。
2.error “OpenCV 4.x+ requires enabled C++11 support”
原本直接编译会报错:
gcc yolo_main.cpp -o yolo_main
需要添加参数 -std=c++11:
gcc -std=c++11 yolo_main.cpp -o yolo_main
3.error: use of undeclared identifier ‘strcpy_s’; did you mean ‘strcpy’? strcpy_s(this->netname, config.netname.c_str());
  • **strcpy()与strcpy_s()的区别:**后者是前者的安全版本。
  • strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。在程序运行时,这将导致不可预料的行为。用strcpy_s就可以避免这些不可预料的行为。
4.Undefined symbols for architecture x86_64
  • 创建opencv.pc
# Package Information for pkg-config
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include

Name: OpenCV
Description: Open Source Computer Vision Library
Version: 2.4.8
Libs: -L${libdir} ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_calib3d.so -lopencv_calib3d ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_contrib.so -lopencv_contrib ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_core.so -lopencv_core ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_features2d.so -lopencv_features2d ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_flann.so -lopencv_flann ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_gpu.so -lopencv_gpu ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_highgui.so -lopencv_highgui ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_imgproc.so -lopencv_imgproc ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_legacy.so -lopencv_legacy ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_ml.so -lopencv_ml ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_objdetect.so -lopencv_objdetect ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_ocl.so -lopencv_ocl ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_photo.so -lopencv_photo ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_stitching.so -lopencv_stitching ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_superres.so -lopencv_superres ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_ts.so -lopencv_ts ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_video.so -lopencv_video ${exec_prefix}/lib/x86_64-linux-gnu/libopencv_videostab.so -lopencv_videostab
Cflags: -I${includedir_old} -I${includedir_new}

《pkg-config 详解》参考链接:https://blog.csdn.net/newchenxf/article/details/51750239

5.linux下C 和 C++ include搜索的路径

C语言中#include <> 与 #include ""的区别
  • #include <>: 直接到系统指定目录查找头文件;
  • #include “”: 先到当前目录查找头文件,然后到系统指定目录查找头文件;
C++中#include <> 与 #include ""的区别
  • #include <>: 一般用户头文件;
  • #include “”: 自己头文件;
补充:gcc编译时查找头文件,按照以下路径顺序查找:
  • 1)gcc -I选项指定的头文件搜索路径。[可以指定多个路径依次查找]
gcc -I /usr/local/include/node a.c  
  • 2)环境变量C_INCLUDE_PATHCPLUS_INCLUDE_PATH中指定的路径;

  • 3)系统默认的路径,分别是 /usr/include/usr/local/include/usr/lib/gcc-lib/i386-linux/2.95.2/include(这个gcc库文件的路径,不同系统不一致)。

  • 4)相对路径。例如包含/usr/local/include/node/v8.h,则使用 #include<node/v8.h>

  • 参考链接:https://blog.csdn.net/a13602955218/article/details/101625857【未完待续…】

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Mac 上部署 YOLO-NAS,您需要执行以下步骤: 1.安装 Xcode 开发工具 2.安装 Homebrew 包管理器 3.安装 CUDA 和 cuDNN 4.安装 Python 和相关依赖项 5.下载 YOLO-NAS 代码 6.编译和安装 Darknet 7.运行 YOLO-NAS 具体步骤如下: 1. 安装 Xcode 开发工具 在 Mac App Store 中搜索 Xcode 并安装,或者从 Apple 开发者网站下载并安装。 2. 安装 Homebrew 包管理器 打开终端并运行以下命令: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 安装完成后,您可以运行以下命令来确保 Homebrew 正常工作: ``` brew doctor ``` 3. 安装 CUDA 和 cuDNN YOLO-NAS 使用 CUDA 和 cuDNN 进行加速计算。要在 Mac安装它们,您需要先安装 Xcode 和 Homebrew安装 CUDA: ``` brew install --cask cuda ``` 安装 cuDNN: ``` brew install cudnn ``` 4. 安装 Python 和相关依赖项 YOLO-NAS 是用 Python 编写的。在 Mac 上,Python 已经预装了,但您需要安装一些依赖项: ``` brew install python3 numpy scipy matplotlib opencv ``` 5. 下载 YOLO-NAS 代码 打开终端并运行以下命令: ``` git clone https://github.com/D-X-Y/YOLO-NAS.git ``` 6. 编译和安装 Darknet 在 YOLO-NAS 代码目录中,打开终端并运行以下命令: ``` cd darknet make ``` 7. 运行 YOLO-NAS 在 YOLO-NAS 代码目录中,打开终端并运行以下命令: ``` python3 yolo_nas.py ``` 以上步骤完成后,您应该能够在 Mac运行 YOLO-NAS 了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值