/FlyCV

FlyCV is a high-performance library for processing computer visual tasks.

Primary LanguageC++Apache License 2.0Apache-2.0

English | 简体中文

🔥 FlyCV —— 高性能计算机图像系统

license GitHub star GitHub forks GitHub issues main language GitHub contributors Pull Request Commit activity Platforms

FlyCV 是一个高性能的计算机图像处理库。我们目前在 ARM 架构下做了很多优化,相比其他图像处理库性能更为出色。同时也在开展其他CPU和异构平台的性能优化工作,例如x86,RISC-V,GPU,DSP等。除了速度更快之外,FlyCV提供了更加细粒度的编译选项控制,这使得我们在库体积上非常轻量,可以按需编译 。另外我们在编译阶段还提供了自定义命名空间的选项支持,可以方便快速地解决相同依赖库冲突的问题。

接下来通过几个例子,简单对比一下FlyCV和OpenCV的性能和效果:

      

      

可以看到执行效果基本一致,FlyCV速度明显快于OpenCV。


⚡ 性能评测

我们使用benchmark测评框架,在多款机型上进行了测评,以下是FlyCV和OpenCV在6款高中低端机型上、不同分辨率下的各算子平均加速比。


📕 快速开始

那么现在快来实际体验一下吧,我们提供了几个非常简单的demo示例,可以帮助大家快速掌握集成使用的流程。

具体可以参见文档:📖 快速使用

在代码库的samples目录下,我们也提供了armlinux和android平台的调用demo。


📓 API 文档

为了便于大家集成使用,我们的接口设计和OpenCV非常接近,可以比较方便的进行迁移。但也存在一些使用上的差别,可以通过下面的接口文档了解更多的细节:📖 API 文档


📔 编译文档

我们支持大多数主流的操作系统,包括android、armlinux、macos(x86 & arm)、windows,以及ios。针对不同平台都提供了相关的编译脚本,可以很方便的在本机进行源码编译。相比OpenCV,为了保证极致轻量化,我们还提供粗、细粒度两种功能模块编译选项,能够真正支持按需编译,在体积要求非常严格的应用中可以带来大幅优化。

根据下面的文档可以从源码进行编译:📖 编译手册

我们也提供了不同平台预编译完成的通用库,你也可以直接进行下载:预编译库

注: 本地环境可能差别较大,如果无法运行可以尝试从源码编译。


📌 升级日志

可以通过我们的升级日志查看每个版本的变化:升级日志


👬 技术交流

扫描下面的二维码加入我们的技术交流群,一起探讨计算机视觉领域的图像处理方法和优化工作。

        

:) 请点击页面右上角star收藏,实时关注项目的最新进展,感谢您助力FlyCV成长。

✏️ 贡献代码

非常欢迎大家一起来贡献代码,我们提供了详细的文档,便于大家可以进行快速集成,具体细节可以查阅 如何贡献 ,在这里感谢每一个人的努力付出,共建一个优秀的视觉图像处理系统。


©️ License

Apache-2.0