Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/PaddlePaddle/FlyCV

FlyCV is a high-performance library for processing computer visual tasks.
https://github.com/PaddlePaddle/FlyCV

arm assembly avx compute-vision computer-vision cv flycv high-performance image-processing lightweight neon opencv paddlepaddle sse

Last synced: 3 days ago
JSON representation

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

Lists

README

        

**[English](README_EN.md)** | **简体中文**

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

![license](https://img.shields.io/hexpm/l/plug?color=%2300CD66&logo=apache&style=flat)
![GitHub star](https://img.shields.io/github/stars/paddlepaddle/flycv?color=%23FFB90F&logo=github)
![GitHub forks](https://img.shields.io/github/forks/paddlepaddle/flycv?color=pink&logo=github)
![GitHub issues](https://img.shields.io/github/issues/paddlepaddle/flycv?color=%2377BFFF&logo=github)
![main language](https://img.shields.io/github/languages/top/paddlepaddle/flycv?color=%23EEE685&logo=c%2B%2B)
![GitHub contributors](https://img.shields.io/github/contributors/paddlepaddle/flycv?color=orange&logo=github)
![Pull Request](https://img.shields.io/github/issues-pr/paddlepaddle/flycv?color=FFDAB9&logo=github)
![Commit activity](https://img.shields.io/github/commit-activity/m/paddlepaddle/flycv?color=F0FFFF&logo=github)
![Platforms](https://img.shields.io/static/v1?label=platforms&message=android|armlinux|windows|linux|ios&color=BBFFFF&logo=gnometerminal)

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

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

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

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

      

      

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


## :zap: 性能评测

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




## :closed_book: 快速开始

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

具体可以参见文档:[:book: 快速使用](https://github.com/PaddlePaddle/FlyCV/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)

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


## :notebook: API 文档

为了便于大家集成使用,FlyCV的接口设计和OpenCV非常接近,可以方便的进行迁移,我们也提供了相关的迁移文档进行指导:[从OpenCV快速迁移至FlyCV](https://github.com/PaddlePaddle/FlyCV/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B#migrate-from-opencv)。

FlyCV的接口可以通过下面的接口文档了解更多的细节:[📖 API 文档](https://github.com/PaddlePaddle/FlyCV/wiki/API%E6%96%87%E6%A1%A3)


## :notebook_with_decorative_cover: 编译文档

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

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

根据下面的文档可以从源码进行编译:[:book: 编译手册](https://github.com/PaddlePaddle/FlyCV/wiki/%E7%BC%96%E8%AF%91%E6%89%8B%E5%86%8C)

我们也提供了不同平台预编译完成的通用库,可以直接进行下载使用:[预编译库](https://github.com/PaddlePaddle/FlyCV/releases)

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


## :pushpin: 升级日志

查看每个版本的变化:[升级日志](https://github.com/PaddlePaddle/FlyCV/releases)


## :two_men_holding_hands: 技术交流

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


微信群:





        




如流群:




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

## :pencil2: 贡献代码

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




## :copyright: License
[Apache-2.0](./LICENSE)