Skip to content

PaddlePaddle/FlyCV

Repository files navigation

English | 简体中文

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

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

FlyCV 是一个高性能的计算机图像处理库,当前已支持C/C++/Javascript编程接口。

FlyCV已在 ARM 架构下做了很多优化,相比其他图像处理库性能更为出色。 同时,也开展其他CPU和异构平台的性能优化工作,例如x86,RISC-V,GPU,DSP等。

除了速度更快之外,FlyCV提供了更加细粒度的编译选项控制,使得在库体积上非常轻量,可以按需编译 。 另外,在编译阶段,还提供了自定义命名空间的选项支持,可以方便快速地解决相同依赖库冲突的问题。

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

      

      

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


⚡ 性能评测

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


📕 快速开始

立刻体验一下吧,可通过几个非常简单的demo示例,帮助大家快速掌握集成使用的流程。

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

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


📓 API 文档

为了便于大家集成使用,FlyCV的接口设计和OpenCV非常接近,可以方便的进行迁移,我们也提供了相关的迁移文档进行指导:从OpenCV快速迁移至FlyCV

FlyCV的接口可以通过下面的接口文档了解更多的细节:📖 API 文档


📔 编译文档

FlyCV支持大多数主流的操作系统,包括android、armlinux、macos(x86 & arm)、windows,以及ios。

针对不同平台都提供了相关的编译脚本,可以很方便的在本机进行源码编译。相比OpenCV,为了保证极致轻量化,我们还提供粗、细粒度两种功能模块编译选项,能够真正支持按需编译,在体积要求非常严格的应用中可以带来大幅优化。

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

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

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


📌 升级日志

查看每个版本的变化:升级日志


👬 技术交流

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

微信群:

        

如流群:


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

✏️ 贡献代码

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


©️ License

Apache-2.0