热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

#OpenCV学习系列(零)Mac下OpenCV+xcode环境搭建[-博客目录-]1-学习目标1.1-本章介绍1.2-实践内容1.

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

[-= 博客目录 =-]

  • 1-学习目标
    • 1.1-本章介绍
    • 1.2-实践内容
    • 1.3-相关说明
  • 2-学习过程
    • 2.1-homebrew安装
    • 2.2-使用homebrew安装CMake
    • 2.3-源码安装OpenCV
    • 2.4-xcode配置与测试
    • 2.5-基础问题回答
  • 3-资料

1-学习目标

1.1-本章介绍

因为不可抗力(╯﹏╰),最近去图书馆借了一本《OpenCV编程案例详解》,准备学习OpenCV的使用,因为身患懒癌,所以还是想通过博客的方式来督促自己学习吧,以后这个系列每周必有一篇(flag大旗已立)……
这篇博客之所以命名为零,是因为这是用来介绍怎么样搭建OpenCV的开发环境的。

返回目录

1.2-实践内容

  1. homebrew安装
  2. 安装CMake
  3. 源码安装OpenCV
  4. xcode配置与测试
  5. 基础问题回答

返回目录

1.3-相关说明

  • 我使用的是Mac环境,所以为了方便我通过xcode来学习OpenCV的使用

返回目录

2-学习目标

2.1-homebrew安装

这个网上很多嘛~
Homebrew - 安装与使用

返回目录

2.2-使用homebrew安装CMake

安装了homebrew之后相当于安装了一个软件管家(命令行版2333),直接通过brew命令就可以安装大部分工具:

sudo brew install cmake //homebrew

默认的安装路径是:/usr/locat/Celler/
一般情况下,如果很久没有使用homebrew,他会更新软件包,所以请在网络良好的情况下使用,不然会……超慢。
更新homebrew也可以手动:

brew update
brew upgrade

返回目录

2.3-源码安装OpenCV

第一步先上官网下载源码:https://opencv.org/releases.html
安装可以参考官网上的教程:https://docs.opencv.org/master/d7/d9f/tutorial_linux_install.html
第二步编译源码文件:

1. cd ~/opencv
2. mkdir build
3. cd build
4. cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
5. make
6. sudo make install

这里就简单粗暴的上步骤吧,当然我建议最好看看官网,关于cmake参数的设置,确认你所喜欢的安装方式,当然因为懒癌所以我就直接安装官网上的来了,以后也好找……
安装的整个过程在一个小时左右,应该大概也许因人而异吧~

返回目录

2.4-xcode配置与测试

  1. 我们先create一个C++project,在工程右边选中BuildSettings,右边搜索框里输入search,找到Search Paths设置项。
  2. 找到Header&Library Search Paths(头文件搜索路径)
    在里面输入如下路径

    $(PROJECT_DIR)      //这个代表你当前工程路径
    /usr/local/include    //这是之前默认cmake后OpenCV头文件放置路径

    在Library Search Paths里输入

    $(PROJECT_DIR)     //这个代表你当前工程路径
    /usr/local/lib         //这是之前默认cmake后OpenCV库文件放置路径
    这里使用的是xcode Version 9.3 (9E145)版本,在Search Paths设置中会有debug和release两个设置,弄成一样的就好。
    如何设置多路径?只要双击框框,弹出一个详细框,左下角有个加号可以增加Search Paths。为什么要加$(PROJECT_DIR)因为如果把这个项目移动到另一台机器上,如果没有这个,它可能会出现找不到库或者头文件(因为搜索路径不同)。加了$(PROJECT_DIR)之后你只需要把library放到项目路径下就好,详细可以看Xcode Build Search Paths设置.
    关于xcode更加直观的说明可以参考Mac平台上OpenCV开发环境搭建,以下是关于xcode项目的一段说明:
    1.Open Xcode, choose New -> New Project -> Command Line Tool
    2.Name it and select C++ for type
    3.Click on your project from the left menu. Click the build settings tab from the top. Filter all. Scroll to Search Paths. Under header search paths, for debug and release, set the path to /usr/local/include. Under library search paths, set the path to $(PROJECT_DIR). Finally, check if C++ standard library is libstdc++ or not, if not, change it to this!
    4.Click on your project from the left menu. File->New->New Group, Name the group OpenCV Frameworks.
    5.Select the folder (group) you just labeled, OpenCV Frameworks in the left menu. Go to File -> add Files, Type /, which will allow you to manually go to a folder. Go to -> /usr/local/lib
    6.Select both of these files, libopencv_core.dylib, libopencv_highgui.dylib, and click Add. (you may need to add other library files from this folder to run other code.)
    7.You must include this line of code in the beginning of your main.cpp file:
    #include
    很浅显的英文,大家应该都看得懂,为什么要放上来,主要是觉得原版比较看的比较直观。
  3. 添加lib文件
    我们在Build Phases里找到Link Binary With Libraries,点击+号

    下来我们找文件

    因为我们之前安装的lib文件在/usr/local/lib/下,可视化的访问默认是隐藏的,所以我们使用commend+shift+G来search它:

    找到后我们添加一些常用库:

    搞定,可以开始测试了!
  4. 测试
    下面是网上找的测试代码:

#include 
using namespace cv;
int main(int argc, char** argv) {
    Mat image;
    image = imread("/Users/mac/Pictures/loli.jpg", 1);
    namedWindow("Display Image", WINDOW_AUTOSIZE);
    imshow("Display Image", image);
    
    Mat gray;
    cvtColor(image, gray, COLOR_RGBA2GRAY);
    namedWindow("gray");
    imshow("gray", gray);
    
    waitKey(0);
    return 0;
}

大家注意string path = "/xxx/xxx/xxx.jpg";这里需要自己设置一下。下面是效果图:

返回目录

2.5-基础问题回答

  1. 关于之前编译源码文件的第四步,如果不行可以参考官方解决办法:
    Use
    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
    without spaces after -D if the above example doesn't work.
  2. 在设置路径的时候遇到了很多问题:

    OpenCV(3.4.1) Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /Users/mac/Study/OpenCV/opencv-3.4.1/modules/highgui/src/window.cpp, line 356
    libc++abi.dylib: terminating with uncaught exception of type cv::Exception: OpenCV(3.4.1) /Users/mac/Study/OpenCV/opencv-3.4.1/modules/highgui/src/window.cpp:356: error: (-215) size.width>0 && size.height>0 in function imshow

    后面花了很多时间,查了很多资料,最后发现……只是路径输错了,Pictures输错成Picture搞半天才弄好,总之大家设置路径的时候一定要是绝对路径,而且要检查清楚,下面举几个例子:

    mac里面可以是这样:/Users/mac/Pictures/loli.jpg
    最好不要这样:~/Pictures/loli.jpg
    windows: D:\\Pictures

    对于用到一些函数感兴趣的可以参考:OpenCV从入门到放弃(四):HighGui组件细讲

返回目录

3-资料

  1. Mac OSX10.10上搭建OpenCV3.2.0开发环境
  2. 搭建Mac上的OpenCV开发环境
  3. opencv_tutorial_linux_install
  4. Homebrew - 安装与使用
  5. cmake 那些事儿~
  6. cmake的一些基础知识
  7. Mac平台上OpenCV开发环境搭建
  8. 关于homebrew使用时遇到的问题: Error: Could not symlink bin/gdb/usr/local/bin is not writable.
  9. Xcode Build Search Paths设置
  10. OpenCV从入门到放弃(四):HighGui组件细讲

返回目录


推荐阅读
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • PHP预处理常量详解:如何定义与使用常量 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 在 CentOS 7 中,为了扩展可用软件包的数量,通常需要配置多个第三方软件源。这些第三方源包括 EPEL、Nux Dextop 和 ELRepo 等,它们提供了大量官方源中未包含的软件包,从而增强了系统的功能性和灵活性。通过正确配置这些源,用户可以轻松安装和管理更多种类的软件,满足不同的需求。 ... [详细]
  • 本文深入解析了 FCEUX 源码,并详细介绍了两种制作 DEB 包的方法及其技术细节。首先,DEB 包通常由两部分组成:控制信息(位于 DEBIAN 目录)和安装内容(模拟目录)。通过解压现有的 DEB 包,可以查看其内部结构,进而理解其工作原理。具体操作包括将安装内容释放到指定目录中,以便进行进一步的修改和定制。此外,文章还探讨了如何修改现有的 DEB 包,以满足特定需求,提供了实用的步骤和技巧。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • 如何在Mac上构建高效的本地服务器环境
    在Mac上构建高效的本地服务器环境,首先需要了解基本步骤:1. 配置目录基础;2. 启动Apache服务;3. 添加自定义文档至本地服务器;4. 查看自定义效果。此外,还可以通过手机或其他电脑访问本机服务器,以确保跨设备的兼容性和调试效果。Mac系统自带的Apache服务为本地开发提供了便捷的工具,本文将详细介绍每个步骤的具体操作方法。 ... [详细]
  • 在 openSUSE Tumbleweed 系统上搭建 51 单片机开发环境并进行编程实践。首先,通过 `sudo zypper in emacs` 命令安装文本编辑器 Emacs。接着,使用 `sudo zypper in sdcc` 安装 SDCC 编译器。最后,利用 `wget` 下载 sdcflash Python 脚本,以便于单片机的烧录和调试。此外,还介绍了如何配置开发环境,确保各组件协同工作,提高开发效率。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文详细介绍了在Linux系统上编译安装MySQL 5.5源码的步骤。首先,通过Yum安装必要的依赖软件包,如GCC、GCC-C++等,确保编译环境的完备。接着,下载并解压MySQL 5.5的源码包,配置编译选项,进行编译和安装。最后,完成安装后,进行基本的配置和启动测试,确保MySQL服务正常运行。 ... [详细]
  • NOIP2000的单词接龙问题与常见的成语接龙游戏有异曲同工之妙。题目要求在给定的一组单词中,从指定的起始字母开始,构建最长的“单词链”。每个单词在链中最多可出现两次。本文将详细解析该题目的解法,并分享学习过程中的心得体会。 ... [详细]
author-avatar
默默-晶f
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有