OpenCV

手动安装OpenCV下的IPP加速库

在 Learning OpenCV 这本书中,作者提到OpenCV可以利用Intel的IPP性能库来提升程序的运行速度,而这个IPP库是要另外进行购买的。实际上,Intel为当前的OpenCV免费提供了IPP加速库的一部分,在此我们称之为ippcv。 ippcv会在cmake的时候自动从github上下载,但是在网络状况不佳的情况下会下载失败。这时候我们只能采用手动安装的方式。 ippcv的下载地址其实就藏在ippcv.cmake文件中。里边有几个比较重要的变量。 第一个是IPPICV_COMMIT,它的值可以从代码中找到: set(IPPICV_COMMIT "a62e20676a60ee0ad6581e217fe7e4bada3b95db") 第二个是OPENCV_IPPICV_URL,同理可以找到: "$ENV{OPENCV_IPPICV_URL}

OpenCV

重新设定OpenCV Tracker的跟踪对象

OpenCV附加模块opencv_contrib下提供了一个特殊的Tracking模块。该模块实现了6种不同的跟踪算法:BOOSTING,MIL,KCF,TLD,MEDIANFLOW和GOTURN。Object Tracking using OpenCV (C++/Python)这篇文章中详细对这几种方法进行了介绍与比较。同时官方也提供了示例代码演示如何使用这个模块。 示例代码对视频中的一个对象进行了跟踪,但是当前面临的问题是,当希望换一个对象跟踪的时候,以下两种做法都是无效的: 将新对象的Rect2d直接传递给update()函数; 再次使用tracker的init()函数。 这个问题在这篇文中的评论区也有讨论。 解决办法其实也不复杂:重新创建一个Tracker对象。假设你之前创建的对象为tracker,那么重新使用create函数建立一个新对象即可: tracker = Tracker::create( "

OpenCV

Debug OpenCV

OpenCV是一款开源计算机视觉库。诞生于Intel公司的研究中心,成熟于Intel俄罗斯软件团队[1]。它可以应用在摄像机标定、深度信息感知、模式识别、机器学习等领域。OpenCV采用C/C++来实现,可以在不同的平台下运行(包括Android与iOS),是学习图像处理,机器视觉不可多得的优秀样本。 这篇文章简要介绍了如何在Linux环境下搭建OpenCV的Debug环境。完成后,您就可以在Eclipse中单步调试程序,查看变量数值、跟踪代码流转细节。 所有工作会分两部分: 编译OpenCV的Debug静态库; 在Eclipse项目中正确配置编译与链接参数。 *准备工作* OpenCV的Debug是在如下环境下实现的,供您参考。 * 操作系统:Ubuntu 16.04 * OpenCV: 3.1.

Macbook

OpenCV报错,提示Camera dropped frame

在这篇文章中提到OpenCV官方的面部检测Tutorial在运行时会提示“Camera dropped frame”,然后报错停止运行。折腾了一番后发现原因如下: 第一个问题:官方Tutorial中除了面部检测还加入了眼睛检测的功能,所加载的XML文件是haarcascade_eye_tree_eyeglasses.xml。不知是何原因这个配置文件在我的计算机上无法正常运行。将该文件替换为haarcascade_eye之后就OK了。 第二个问题:Camera dropped frame是因为计算机性能不足,所以将检测频率降低一点就好了。 我的环境:OpenCV 3.0 + Xcode @ Macbook Air with EL Captain(10.11.