Mac 配置 OpenCV C++ 版本
今天紀錄一下如何在 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++ 版本的更多相关文章
- Mac配置多个版本JDK
2016年mac上已经安装有jdk1.6的版本 目录在/Library/Java/JavaVirtualMachines/1.6.0.jdk 有时候mac版本跟新会自动删除jdk1.6 所以要去ma ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)
本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...
- 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 ...
- OpenCV多版本切换和配置--opencv 安装与卸载、添加 opencv_contrib modules 以及 OpenCv 多版本切换
1. 查看安装Opencv的版本.以及libs和cflags $ pkg-config --modversion opencv $ pkg-config --cflags opencv // 编译链接 ...
- OpenCV2学习笔记03:Qt中配置OpenCV环境
在Qt中开发基于OpenCV的应用时,需要配置对应函数库到环境变量,这时候我们需要使用到qmake能够识别的变量来指定环境变量. INCLUDEPATH: 用于指定搜索头文件到文件夹路径. LIBS: ...
- OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建
# OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建 [-= 博客目录 =-] 1-学习目标 1.1-本章介绍 1.2-实践内容 1.3-相关说明 2-学习过程 2.1-hom ...
- 配置OpenCV产生flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题[zz]
使用vs2012/2013配置opencv编译出现问题: 1>------ 已启动生成: 项目: Win32ForOpenCV245, 配置: Debug Win32 ------ 1> ...
- 使用属性表:VS2013上配置OpenCV
以前,windows下配置OpenCV一直不太方便:总是要手动添加lib,添加include,还要配置PATH使得程序运行时候能找到dll文件. 每次新建一个使用OpenCV的工程都要手动添加,很麻烦 ...
- vs配置opencv
配置OpenCv: 一.新建工程 无论是mfc还是控制台程序都可以. 二.下载opencb,安装在非空格路径下面 解压出来有两个文件夹:build和source,主要用到build,build-x86 ...
随机推荐
- 【Android】学习day05|简单登陆页面的实现|监听代码
实现效果如下图所示 实现代码[部分] MainActivity.java 1 package com.example.app02; 2 3 import androidx.appcompat.app. ...
- 瀑布图有什么作用?除了excel如何快速制作?
瀑布图是一种特殊的数据可视化图表,具有以下作用: 1. 对比变化:瀑布图可以清晰地展示数据在不同因素作用下的变化情况.通过将数据分解成各个组成部分,并以阶梯状呈现,可以直观地对比每个因素对总体结果的影 ...
- 又有新框架上线了,测试、AI 通通有「GitHub 热点速览」
本周热点之一可能就是 Apple 刚开源便获得 8k+ star 的机器学习框架 mlx,顺带官方开源的 mlx-example(示例仓)也在热门榜上有一席之位,据说它已经跑通了大模型 Llama 7 ...
- 一招MAX降低10倍,现在它是我的了
一.背景 性能优化是一场永无止境的旅程. 到家门店系统,作为到家核心基础服务之一,门店C端接口有着调用量高,性能要求高的特点. C端服务经过演进,核心接口先查询本地缓存,如果本地缓存没有命中,再查询R ...
- 87 GB 模型种子,GPT-4 缩小版,超越ChatGPT3.5,多平台在线体验
瞬间爆火的Mixtral 8x7B 大家好,我是老章 最近风头最盛的大模型当属Mistral AI 发布的Mixtral 8x7B了,火爆程度压过Google的Gemini. 缘起是MistralAI ...
- 51Nod - 1086 多重背包
有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi ...
- 华企盾DSC控制台操作卡顿如何解决
解决方法: 修改注册表: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows 的 USERProcessHa ...
- 为什么许多数字孪生产品开始了GIS融合的尝试?
随着数字孪生技术的发展,越来越多的产品意识到要实现数字孪生的最大价值,需要考虑多个维度的数据,包括空间信息.地理位置.环境条件等.因此,许多数字孪生产品开始了与GIS系统的融合尝试,以进一步提升其功能 ...
- Sql整理
1:数据库 数据库是以某种有组织的方式存储的数据集合. 保存有组织数据的容器,通常是一个文件或者一组文件. SQL 是Structured Query Language (结构化查询语言)的缩写. 2 ...
- dtd的三种引入方式