ppl.cv高性能图像处理库使用

ppl.cv库的github链接:https://github.com/OpenPPL/ppl.cv

下面几段介绍翻译自该项目的readme文件:

ppl.cv 源于商汤科技不同团队对图像处理的需求,提供了一套常用图像算法的高性能实现,用于不同的深度学习应用的流水线中。

它是一个轻量级的、可定制的图像处理框架。由于 OpenCV 等框架的实现体积大、依赖性复杂,我们希望提供一个灵活的框架,在开发和/或部署深度学习套件时,只需添加所需的算法即可满足各种图像处理应用。使用 ppl.cv,开发人员可以轻松添加新平台以支持新硬件和/或新图像处理算法的新实现以支持新应用程序,用户可以为指定的平台和算法选择图像处理实现,从而生成小巧紧凑的图像处理库以供部署。

它是一个用于深度学习的高性能图像处理库。我们已经在这个框架中填充了多个支持平台和大量精心挑选的函数,以实现深度学习流水线中的图像处理。由于视觉深度学习涉及海量图像,因此每个函数都针对硬件进行了优化,以获得良好的加速比。为了方便使用 ppl.cv,每个函数在函数文档中都提供了一个简短的调用示例、一个用于检查与 OpenCV 中对应函数一致性的单元测试和一个用于与 OpenCV 中对应函数性能进行比较的基准测试,此外还提供了一个实现。

X86

先用opencv来读入图像:

#include <ppl/cv/x86/boxfilter.h>
#include <opencv2/opencv.hpp>

int main(int argc, char* argv)
{
   
   
	cv::Mat image = cv::imread("bus.jpg");
	const int32_t W = image.cols;
	const int32_t H = image.rows;
	const int32_t C = image.channels();
	const int32_t kernelx_len = 3;
	const int32_t kernely_len = 3;
	bool normalize = 1;
	uint8_t* dev_iImage = image.data;
	uint8_t* dev_oImage = (uint8_t*)malloc(W * H * C * sizeof(uint8_t));
	ppl::cv::x86::BoxFilter<uint8_t, 3>(H, W, W * C, dev_iImage, kernelx_len, kernely_len, normalize, W * C, dev_oImage, ppl::cv::BORDER_DEFAULT);
	cv::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

给算法爸爸上香

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

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

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

打赏作者

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

抵扣说明:

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

余额充值