计算机视觉开发库相关知识

OpenCV、OpenMV、BoofCV、Dlib、SimpleCV等计算机视觉开源库

1.OpenCV

OpenCV世界上最流行的计算机视觉开源库,遵循BSD开源许可,可以免费用于学术和商业用途。

1.jpg

OpenCV具有C ++,Python和Java接口,支持Windows,Linux,Mac OS,iOS和Android。

2.jpg

OpenCV官方网站:https://opencv.org

2.OpenMV

OpenMV被誉为“ 计算机视觉界的Arduino ”,使用STM32F4(Cortex-M4)MCU作为主控,基于ARM NN SDK全新开发的的图像处理算法,OpenMV跟OpenCV可没有什么关系哦。

4.jpg

OpenMV使用Python将底层的C/C++程序进行了封装,并且内置MicroPython解释器,因此可以使用Python进行计算机视觉应用的开发。

目前OpenMV支持人脸检测、眼球检测、颜色追踪等机器视觉应用,另外还支持拍照、录像,最新的OpenMV Cam H7还支持热红外摄像头。

官方网站:https://openmv.io/

3.BoofCV

BoofCV是一个从头开始编写的开源库,用于实时计算机视觉。其功能涵盖了一系列主题,低级图像处理,摄像机校准,特征检测/跟踪,运动结构,基准检测和识别。BoofCV已经在Apache 2.0许可下发布,用于学术和商业用途。

5.jpg

BoofCV使用Java实现,拥有丰富的图像处理模块,可在PC上和嵌入式设备上运行,目前官方提供的有Android平台和Raspberry PI平台的示例。

6.jpg

官方网站:http://boofcv.org

4.Dlib

Dlib是一个现代的C++工具包,包含机器学习算法和工具,用于在C++中创建复杂的软件来解决实际问题。它广泛应用于工业界和学术界,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。Dlib的开源许可允许您在任何应用程序中免费使用它。

7.jpg

官方网站:http://dlib.net/

5.SimpleCV

SimpleCV是一个用于构建计算机视觉应用程序的开源框架。有了它,您可以访问几个高性能计算机视觉库,如OpenCV - 无需首先了解位深度,文件格式,色彩空间,缓冲区管理,特征值或矩阵与位图存储。这使计算机视觉变得简单。

8.jpg

SimpleCV示例代码:

from SimpleCV import Camera
# Initialize the camera
cam = Camera()
# Loop to continuously get images
while True:
    # Get Image from camera
    img = cam.getImage()
    # Make image black and white
    img = img.binarize()
    # Draw the text "Hello World" on image
    img.drawText("Hello World!")
    # Show the image
    img.show()

官方网站:http://simplecv.org/

6.CCV

C-based/Cached/Core Computer Vision Library,一个现代的计算机视觉开源库,CCV诞生于2010年,它现在可以在Mac ,Linux,FreeBSD,Windows *,iPhone,iPad,Android,Raspberry Pi上运行。

9.jpg

CCV人脸检测代码示例:

#include <ccv.h>
 2
 3int main(int argc, char** argv)
 4{
 5        ccv_dense_matrix_t* image = 0;
 6        ccv_read(argv[1], &image, CCV_IO_RGB_COLOR | CCV_IO_ANY_FILE);
 7        ccv_scd_classifier_cascade_t* cascade = ccv_scd_classifier_cascade_read(argv[2]);
 8        ccv_array_t* faces = ccv_scd_detect_objects(image, &cascade, 1, ccv_scd_default_params);
 9        int i;
10        for (i = 0; i < faces->rnum; i++)
11        {
12                ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
13                printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.height);
14        }
15        ccv_array_free(faces);
16        ccv_scd_classifier_cascade_free(cascade);
17        ccv_matrix_free(image);
18        return 0;
19}

官方网站:http://libccv.org/

7.SOD

SOD是一个嵌入式,现代化的跨平台计算机视觉和机器学习软件库,它展示了一套用于深度学习,高级媒体分析和处理的API,可在计算资源有限的嵌入式系统上实时进行多类目标检测和模型训练。

10.jpg

SOD是一个开源项目,但是它的官方模型是收费的。

官方网站:https://sod.pixlab.io/

8.VXL

VXL(Vision-something-Libraries)是为计算机视觉研究和实现而设计的C++库的集合。它是从TargetJr和IUE创建的,旨在建立一个轻便,快速和一致的系统。VXL是用ANSI/ISO C++编写的,可以在许多平台上移植。

11.jpg

官方网站:https://vxl.github.io/

9.CImg

CImg是一个小巧的用于图像处理的开源C++项目,CImg始于1999年,由其作者David Tschumperlé 在写博士论文期间创建,CImg是简单的优雅的,线程安全的,可移植性非常高。

12.jpg

官方网站:http://cimg.eu/

10.PCL

Point Cloud Library(PCL)是一个独立的大型开放项目,用于2D / 3D图像和点云处理。PCL根据BSD许可条款发布,因此可以免费用于商业和研究用途。

13.jpg

官方网站:http://pointclouds.org/

11.LTI

LTI-Lib是一个面向对象的库,具有经常用于图像处理和计算机视觉的算法和数据结构。它是在亚琛工业大学(RWTH-Aachen University)开发的,作为许多计算机视觉研究项目的一部分,涉及机器人,物体识别,手语和手势识别。它提供了一个面向对象的C++库,其中包含可用于实际应用程序的快速算法。

14.jpg

官方网站:https://www.openhub.net/p/ltilib

12.VLFeat

VLFeat 开源库实现流行的计算机视觉算法。包括Fisher Vector,VLAD,SIFT,MSER,k-means,分层k-means,凝聚信息瓶颈,SLIC超像素,快速移位超像素,大规模SVM训练等等。它是用C语言编写的,用于提高效率和兼容性,在MATLAB中使用易于使用的接口,以及详细的文档。它支持Windows,Mac OS X和Linux。

15.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值