热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

rk3399opencv测试cpu跟gpu性能

rk3399的gpu测试节点在:catsysdevicesplatformff9a0000.gpudevfreqff9a0000.gpuload如果没有使用gpu的话

rk3399的gpu测试节点在:

cat /sys/devices/platform/ff9a0000.gpu/devfreq/ff9a0000.gpu/load

如果没有使用gpu的话,是显示0@200000000Hz,0就是使用率占0%

参考下opencv官网的文档:https://opencv.org/platforms/opencl.html

我们打开摄像头 进行灰阶并高斯模糊处理为例子

1.使用CPU操作:

代码:

#include
#include

#include

using namespace std;
using namespace cv;
int main(int argc, char **argv)
{int64 start
=0,end=0;VideoCapture vcap(0);Mat frame, frameGray;for(;;){start = getTickCount();vcap >> frame;cvtColor(frame, frameGray, CV_BGR2GRAY);GaussianBlur(frameGray, frameGray, Size(3,3), 0,0);end = getTickCount();printf("time: %f ms\n", 1000.0*(end -start)/getTickFrequency());}return 0;
}

运行如下:

代码执行如下:
time:
33.082281 ms
time:
32.365384 ms
time:
34.381331 ms
time:
31.857022 ms
time:
33.016366 ms
time:
36.259030 ms
time:
30.849634 msCPU如下:
PID USER PR NI VIRT RES SHR S
%CPU %MEM TIME+ COMMAND
16972 pi 20 0 504792 44632 26112 R 110.5 1.1 0:14.98 cpuGPU如下:
0@200000000Hz
0@200000000Hz
0@200000000Hz

 

2使用GPU

代码:

#include
#include

#include

//opencl
#include
using namespace std;
using namespace cv;
int main(int argc, char **argv)
{ocl::setUseOpenCL(
true);VideoCapture vcap(0);UMat frame, frameGray;int64 start=0,end=0;for(;;){start = getTickCount();vcap >> frame;cvtColor(frame, frameGray, CV_BGR2GRAY);GaussianBlur(frameGray,frameGray , Size(3,3), 0,0);end = getTickCount();printf("time: %f ms\n", 1000.0*(end - start)/getTickFrequency());}return 0;
}

运行如下:

代码执行如下:
time:
42.600703 ms
time:
39.476152 ms
time:
43.411226 ms
time:
43.945546 ms
time:
43.886631 ms
time:
39.469735 ms
time:
44.085834 ms
time:
43.899755 ms
time:
39.333239 ms
time:
41.394690 ms
time:
40.303882 ms
time:
40.037888 ms
CPU如下:
PID USER PR NI VIRT RES SHR S
%CPU %MEM TIME+ COMMAND
17913 root 20 0 455452 66108 42952 S 62.9 1.7 0:06.04 clGPU如下:
24@200000000Hz
34@200000000Hz
42@200000000Hz
40@200000000Hz
38@200000000Hz
36@200000000Hz
39@200000000Hz
36@200000000Hz

 

关于opencv编译我之前已经说过,如果想编译简单点,就在cmake时候 将-D BUILD_opencv_world=YES加上,

编译命令:g++ -o cpu cpu.cpp  -I/usr/local/opencv_rk3399/include -L/usr/local/opencv_rk3399/lib/ -lopencv_world

rk3399 个人测下来感觉gpu处理跟cpu处理速度并不明显,而且GPU有时候还有点稍慢。并没有JETSON TX2这种板子那么明显。

 

转:https://www.cnblogs.com/releases/p/10308741.html



推荐阅读
author-avatar
帕皮丝汀阿奎莱拉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有