Mac OSX(10.12)编译安装OpenCV 3.2.0

前言

最近在看机器视觉的paper,最终目标是自己做一个光学AIM(Automatic Inspection Machine)。这个想法由来已久,最早可以追溯到刚入职的时候做的第一个项目:用3个CCD测量零件的直径。之前自动测量机基本都是采用LVDT传感器进行接触测量,精度和速度都能保证的很好,主要的缺点是LVDT需要使用机械式测头,会和零件接触,为了保证测量精度和稳定性,测头一般都是使用高硬度的材料制造,以达到减少磨损和变形的目的。同样的,这种方法的缺点是有可能会对被测零件产生划伤,压伤等外观缺陷。由于目前做的零件基本都是外观件,对于这种类型的外观缺陷要求很高,接触式测量较难达到要求。之前对CCD光学不太了解,通过这个项目也算了解了光学测量的基本方法,也萌生了自己做一个的想法,至少弄个prototype出来玩玩也好 🙂

框架的选择

目前国内厂商的AIM上用的比较多的软件大多是基于MVTec的HALCON进行二次开发的。HALCON是一个机器视觉库,里面有着很多常用的数字处理算子,并且也有自己的语言(HDevelop)和IDE。试用过一段时间HALCON,开发速度快,尤其是开发prototype,基本就是点点鼠标,调整一下参数就能直接看到结果,而且和工业CCD等设备的接口很完善。主要的问题是对个人来说价格太贵,而且由于没有开放算子的计算方式,自己对实现也无从了解。出于一个工程师的好奇心,还是想自己尝试造个轮子 🙂

OpenCV是一个开源的机器视觉库,对于基本的图像显示和处理都有实现,对于SVM等ML技术也有涉及。基于C++语言进行开发,目前有多种语言的接口,并且在最新的3.x版本中已经引入了自动内存管理。对有编程基础的同学来说,是个不错的选择。

Mac OS(10.12)下编译OpenCV

对于使用Brew或者Macports安装的同学,网上已经有不少现成的例子,而且都相当方便。对于从源码编译的方式,如果是安装在默认的位置(/usr/bin),建议参考这篇文章HOWTO: Install, Build and Use openCV (MacOSX 10.10)

本文介绍的方法主要针对的是使用源码编译动态链接库,并且安装到默认之外目录的情况。在CMake配置时,主要的区别就是CMAKEINSTALLPREFIX这个变量,这个变量指定了make install安装的位置。当make install之后,新建Xcode项目时,需要注意以下几点:

  1. Header Search Paths需要加上$(Install path)/include
  2. Library Search Paths需要加上$(Install path)/lib
  3. dylib文件加入到Link Binary with Libraries列表中(Build Phase tab)
  4. 不需要设定Other Linker Flags

One Reply to “Mac OSX(10.12)编译安装OpenCV 3.2.0”

Leave a Reply

Your email address will not be published. Required fields are marked *