C++ 图像处理常用库


一、 OpenCL (Open Computing Language)

parallel programming of diverse accelerators (including multi-core CPUs, GPUs, DSPs, FPGAs and dedicated hardware such as inferencing engines.

进行并行计算的low-levelAPI,可直接控制硬件。

在Deeplearning中,对应卷积等科学计算,硬件为GPU和DL Accelerators.

参考:https://www.khronos.org/opencl/

二、 OpenGL

使用GPU进行图形渲染,用于生成2D、3D图像。

OpenGL 渲染管线流程为:顶点数据 -> 顶点着色器 -> 图元装配 -> 几何着色器 -> 光栅化 -> 片段着色器 -> 逐片段处理 -> 帧缓冲

GPU上与渲染处理对应的GPU硬件包括:

  • 顶点处理: Vertex Shader(顶点着色器)
  • 纹理帖图:TMU(Texture mapping unit)
  • 光栅化引擎ROP

参考:https://www.jianshu.com/p/92208a75283d

 

三、 OpenGL ES

OpenGL for Embedded Systems,用于嵌入式的图形渲染API,是OpenGL的子集,仅保留了高效的函数。

OpenGL® ES is a royalty-free, cross-platform API for rendering advanced 2D and 3D graphics on embedded and mobile systems - including consoles, phones, appliances and vehicles. It consists of a well-defined subset of desktop OpenGL suitable for low-power devices, and provides a flexible and powerful interface between software and graphics acceleration hardware.

参考: https://www.jianshu.com/p/b92b39df57e5

 

四、 GLFW

OpenGL / OpenGL ES 是跨平台的,它只专注渲染; 其他内容在每个平台上都要有它的具体实现,比如上下文环境和窗口的管理就交由各个设备自己来完成。

GLFW is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development. It provides a simple, platform-independent API for creating windows, contexts and surfaces, reading input, handling events, etc.

五、 EGL

EGL™ is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.

EGL 是 OpenGL ES 渲染 API 和本地窗口系统(native platform window system)之间的一个中间接口层。

 

六、Eigen: 矩阵运算

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

https://eigen.tuxfamily.org/dox/group__QuickRefPage.html

 

LodePNG:

PNG encoder and decoder in C and C++, without dependencies
例如把PNG图像解码为RGBA/RGB,或者将PNG图像解码为RGBA/RGB像素数据;
Convert PNG to BMP或Convert BMP to PNG。

 

滤波Filter(low-pass, high-pass and band-pass FIR filter):

https://cardinalpeak.com/blog/a-c-class-to-implement-low-pass-high-pass-and-band-pass-filters/

 

绘制线图Plot

matplotlib-cpp works by wrapping the popular python plotting library matplotlib.

https://github.com/lava/matplotlib-cpp

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuyuelongfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值