Mac系统配置OpenCV C++

简介

本文通过OpenCV源码编译,并附带一个简单的例子。推荐使用Mac包管理器Homebrew,简单明了。本文是源码编译安装,稍微麻烦。

CMake编译安装(已安装可跳过)

CMake 3.18.1

官方地址:https://cmake.org
Github地址:https://github.com/Kitware/CMake

编译安装

下载好源码,编译安装

cd /Users/xxx/opt/CMake
mkdir install_cmake
./bootstrap --prefix=./install_cmake 
make -j8
sudo make install

配置环境变量(可选)

当编译安装好之后,可以在/Users/xxx/opt/CMake/install_cmake/bin目录发现cmake可执行文件,如果想打开终端随时可用cmake命令,则需要配置环境变量,否则的话直接带目录运行即可。

/Users/xxx/opt/CMake/install_cmake/bin/cmake --help

配置环境变量

sudo vim ~/.bash_profile
export PATH=/Users/wanglei/opt/CMake/install_cmake/bin:$PATH # 添加至末尾
source ~/.bash_profile

注:macOS 10.15的版本装了iTem2+zsh,直接在~/.zshrc上加就行了,否则每次打开终端都得source ~/.bash_profile

OpenCV编译安装

OpenCV-4.4.0

官方地址:https://opencv.org/releases/
Github地址:https://github.com/opencv/opencv

编译和安装

下载好源码,打开终端

cd /Users/xxx/opt/opencv-4.4.0/
mkdir build_opencv install_opencv
cd build_opencv
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=../install_opencv ..
make -j8
make install

测试样例

编写main.cpp代码

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
int main(int argc, char** argv) {
	if (argc != 2) {
		std::cout << "Expecting a image file to be passed to program" << std::endl;
		return -1;
	}
	cv::Mat img = cv::imread(argv[1]);
	if (img.empty()) {
		std::cout << "Not a valid image file" << std::endl;
		return -1;
	}
	cv::namedWindow("Simple Demo", cv::WINDOW_AUTOSIZE);
	cv::imshow("Simple Demo", img);
	cv::waitKey(0);
	return 0;
}

编写Makefile文件

.SUFFIXES: .cpp .o
CC=g++
SRCS = ./main.cpp
OBJS = $(SRCS:.cpp=.o)
OUTPUT = main
OPENCV_ROOT=/Users/xxx/opt/opencv-4.4.0/install_opencv
CFLAGS = -I$(OPENCV_ROOT)/include/opencv4
LIBS += -L$(OPENCV_ROOT)/lib -lopencv_imgcodecs -lopencv_imgproc -lopencv_highgui -lopencv_core
all : $(OBJS)
	$(CC) -o $(OUTPUT) $(OBJS) $(LIBS)
	@echo "----- OK -----"
.cpp.o :
	$(CC) -O3 -std=c++11 -Wall $(CFLAGS) -o $@ -c $<
clean :
	-rm -f $(OBJS)
	-rm -f .core*
	-rm $(OUTPUT)

编译运行

随便下载副图像test.jpg

make -j8
./main test.jpg

注:编译通过,而运行时会报错dyld: Library not loaded: @rpath/libopencv_imgcodecs.4.4.dylib,是opencv的库没找到,需要配置环境变量。

sudo vim ~/.bash_profile
export LD_LIBRARY_PATH=/Users/xxx/opt/opencv-4.4.0/install_opencv/lib:$LD_LIBRARY_PATH # 添加至末尾
source ~/.bash_profile
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值