今天紀錄一下如何在 Mac 上安裝 OpenCV for C++ 開發環境

使用 Brew 安装,pkgconfig 检测,2023.5.17

Mac x86 ( Intel ) , Mac M1 ( Apple silicon ) 和 Ubuntu 也適用

此筆記用 OpenCV 4.7.0_4 版本做範例

1. 安装 cmake 与 pkg-config

如果您的 Mac 沒有 cmake, pkg-config 請先使用 brew 安裝 ( brew 官網 )

brew install cmake pkg-config

如果您是 Ubuntu 使用者參考以下指令

sudo apt-get update
sudo apt-get install -y cmake build-essential git pkg-config

後面步驟不管是 MacOS / Ubuntu 都是相同

2. 由 OpenCV 官方 GitHub clone Source Code

( 官方 github : https://github.com/opencv/ )

選一個你會放置 OpenCV 程式的資料夾位置

然後 clone OpenCV source code

以下用 4.5.4 為例 :

cd 某个文件夹下
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

另外很多功能是在 opencv_contrib 這 Repository 中, 建議一起安裝 ( 上 2 行 )

3. Checkout 成 4.5.4 版

cd opencv && git checkout 4.5.4
cd ../
cd opencv_contrib && git checkout 4.5.4
cd ../

4. 建立 build folder

mkdir build_opencv_4.5.4

然後記得進入該資料夾 ( 感謝網友修正 )

cd ./build_opencv_4.5.4

5. 使用 cmake

cmake CMAKE_BUILD_TYPE=Release \
-DBUILD_EXAMPLES=ON \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DCMAKE_INSTALL_PREFIX=/usr/local/ \
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
../opencv

6. Make install

make -j12
make install

此部分和安裝其他軟體差不多,編譯上會花一點時間

Ubuntu 使用者 :

視情況可能需要 sudo 指令 ,例如以下錯誤

-- Install configuration: "Release"
CMake Error at cmake_install.cmake:41 (file):
file cannot create directory: /usr/local/share/licenses/opencv4.
Maybe need administrative privileges.

改用使用 sudo make install 應可解決

7. 測試

可以到 opencv 的官方範例檔案中進行編譯測試例如以下指令 :

cd ../opencv/samples/cpp
g++ -std=c++14 -ggdb opencv_version.cpp -o /tmp/opencv_version `pkg-config --cflags --libs opencv4`

編譯 C++ 通過就可以執行程式看看:

/tmp/opencv_version

Brew 安装

brew install opencv
pkg-config --cflags --libs opencv

CLion里面去配置 创建一个新项目,修改cmakeLists

cmake_minimum_required(VERSION 3.25)
project(demo) set(CMAKE_CXX_STANDARD 17) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(demo main.cpp)
target_link_libraries(demo ${OpenCV_LIBS})

代码测试

#include <iostream>
#include <opencv2/opencv.hpp>
#include <string> using namespace cv;
using namespace std; void ImageHold(string str) {
Mat image = imread(str); imshow("test_opencv", image);
waitKey(0);
} int main() {
std::cout << "Hello, World!" << std::endl;
string path = "/Users/koshkaaaa/Documents/File/Fav/";
string str = "6F23E4AF-A2BC-4E2E-958E-C24C3F1AEF0E_1_105_c.jpeg";
ImageHold(path + str);
return 0;
}

以上為簡單 OpenCV C++ 安裝筆記

Mac 配置 OpenCV C++ 版本的更多相关文章

  1. Mac配置多个版本JDK

    2016年mac上已经安装有jdk1.6的版本  目录在/Library/Java/JavaVirtualMachines/1.6.0.jdk 有时候mac版本跟新会自动删除jdk1.6 所以要去ma ...

  2. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  3. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  4. Mac下OpenCV开发环境配置(Terminal和Xcode)

    亲证可用:http://www.jianshu.com/p/11959977589a   Mac OS X 10.1 Xcode 7.2(7C68) OpenCV 2.4.13 Mac OS10.11 ...

  5. OpenCV多版本切换和配置--opencv 安装与卸载、添加 opencv_contrib modules 以及 OpenCv 多版本切换

    1. 查看安装Opencv的版本.以及libs和cflags $ pkg-config --modversion opencv $ pkg-config --cflags opencv // 编译链接 ...

  6. OpenCV2学习笔记03:Qt中配置OpenCV环境

    在Qt中开发基于OpenCV的应用时,需要配置对应函数库到环境变量,这时候我们需要使用到qmake能够识别的变量来指定环境变量. INCLUDEPATH: 用于指定搜索头文件到文件夹路径. LIBS: ...

  7. OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建

    # OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...

  8. 配置OpenCV产生flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题[zz]

    使用vs2012/2013配置opencv编译出现问题: 1>------ 已启动生成: 项目: Win32ForOpenCV245, 配置: Debug Win32 ------ 1> ...

  9. 使用属性表:VS2013上配置OpenCV

    以前,windows下配置OpenCV一直不太方便:总是要手动添加lib,添加include,还要配置PATH使得程序运行时候能找到dll文件. 每次新建一个使用OpenCV的工程都要手动添加,很麻烦 ...

  10. vs配置opencv

    配置OpenCv: 一.新建工程 无论是mfc还是控制台程序都可以. 二.下载opencb,安装在非空格路径下面 解压出来有两个文件夹:build和source,主要用到build,build-x86 ...

随机推荐

  1. 链表K个节点的组内逆序调整问题

    链表K个节点的组内逆序调整问题 作者:Grey 原文地址: 博客园:链表K个节点的组内逆序调整问题 CSDN:链表K个节点的组内逆序调整问题 题目描述 LeetCode 25. Reverse Nod ...

  2. [AI]探寻高等生命的多面驱动

    引子 意识从来是一个前沿课题,充满了学术大神,也充满了神棍.对于意识的讨论和研究需要保持开放的思想,也要遵守理性的严格的方法.我们不是着急去推翻什么或者声称发现了什么,我们大部分要做的事情是把实验多重 ...

  3. Android app兼容低版本Java环境

    原文地址: Android app兼容低版本Java环境 - Stars-One的杂货小窝 起因是修复一个Bug遇到的问题,找到了一个可以让app兼容低版本java的方法 众所周知,Android版本 ...

  4. Netty源码学习6——netty编码解码器&粘包半包问题的解决

    系列文章目录和关于我 零丶引入 经过<Netty源码学习4--服务端是处理新连接的&netty的reactor模式和<Netty源码学习5--服务端是如何读取数据的>的学习, ...

  5. 【Android】学习day05|RadioButton

    注意事项:当使用默认选中标签:check时,必须要给标签加id,否则失效. 这个没什么,挺简单的,就记录一下代码[监听事件] package com.example.app02; import and ...

  6. serdes与PCIE的区别

    serdes和PCIE是两种非常常见的总线.因为PCIE也是差分信号传输,所以做硬件时比较难区别PCIE和serdes的具体差异点. 两者之间的区别主要表现在以下几点: 1.PCIE使用了SERDES ...

  7. [ABC265C] Belt Conveyor

    Problem Statement We have a grid with $H$ horizontal rows and $W$ vertical columns. $(i, j)$ denotes ...

  8. [转]NLog学习笔记

    配置文件 NLog所有的配置信息都可以写到一个单独的xml文件中,也可以在程序代码中进行配置. 配置文件位置 启动的时候,NLog会试图查找配置文件完成自动配置,查找的文件依次如下(找到配置信息则结束 ...

  9. 在Linux服务器上装jenkins(方式一:war包)

    官网下载jenkins https://www.jenkins.io/zh/download/ 官网下载太慢,可以去清华镜像下载(百度搜索:清华镜像) 下载的文件是jenkins.war 把安装文件放 ...

  10. Office 2016 2019 2021 正版部署

    教学视频:https://www.youtube.com/watch?v=VSjRx7Hoa60 文章摘抄自零度解说:https://www.freedidi.com/6619.html 1.offi ...