计算机视觉开源库集锦

电子说

1.3w人已加入

描述

计算机视觉开源库集锦

1.OpenCV

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

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

推荐书籍:

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

2.OpenMV

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

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

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

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

3.BoofCV

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

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

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

4.Dlib

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

计算机视觉

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

5.SimpleCV

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

计算机视觉

SimpleCV示例代码:

from SimpleCV import Camera# Initialize the cameracam = Camera()# Loop to continuously get imageswhile 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上运行。

计算机视觉

CCV人脸检测代码示例:

#include 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 ", 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,可在计算资源有限的嵌入式系统上实时进行多类目标检测和模型训练。

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

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

8.VXL

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

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

9.CImg

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

计算机视觉

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

10.PCL

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

计算机视觉

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

11.LTI

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

计算机视觉

官方网站: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。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分