6994
- 收藏
- 点赞
- 分享
- 举报
hi3559 opencv gpu加速
目的:测试canny算子有无GPU情况下的性能
问题:程序卡死在opencv调用opencl加速的地方
硬件:Hi3559a官方开发板
软件:Hi3559AV100_SDK_V2.0.3.1
操作步骤:
1.移植最新的opencv4.5.1(跑过很多其他测试程序了,移植没得什么大问题,打开了了opencl的宏的)
2.编译GPU的内核驱动,最终我的加载驱动的脚本为如下:
insmod hi_osal.ko anony=1 mmz_allocator=hisi mmz=anonymous,0,$mmz_start,$mmz_size:window,0,0x100100000,7M || report_error
insmod hi3559av100_base.ko
insmod hi3559av100_sys.ko
insmod hifb.ko video="hifb:vram0_size:32400,vram1_size:16200,vram2_size:256" # default fb0:4k,fb1:1080p,fb2:256x256
insmod hi_dbe.ko
insmod mali_kbase.ko
加载过程无报错。
3.添加gpu应用层驱动到LD_LIBRARY_PATH
4.编写测试程序链接
编译无任何警告,最终测试程序如下:
#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/core/ocl.hpp>
using namespace std;
using namespace cv;
void test_canny_opencl(void){
ocl::setUseOpenCL(true);
UMat src, bw, blur, edge;
src = imread("girl.jpg").getUMat(ACCESS_RW);
cvtColor(src, bw, COLOR_BGR2GRAY);
GaussianBlur(bw, blur, Size(3, 3), 0);
Canny(blur, edge, 50, 100, 3);
//ocl::setUseOpenCL(false);
}
void test_canny_normal(void){
Mat src, bw, blur, edge;
src = imread("girl.jpg");
cvtColor(src, bw, COLOR_BGR2GRAY);
GaussianBlur(bw, blur, Size(3, 3), 0);
Canny(blur, edge, 50, 100, 3);
}
int main()
{
double start,duration;
start = static_cast<double>(getTickCount());
test_canny_normal();
duration = ((double)getTickCount() - start) / getTickFrequency();
cout << "test_canny_normal cost time is: " << duration * 1000 << "ms" << endl;
start = static_cast<double>(getTickCount());
test_canny_opencl();
duration = ((double)getTickCount() - start) / getTickFrequency();
cout << "test_canny_opencl cost time is: " << duration * 1000 << "ms" << endl;
return 0;
}
执行时卡死在 canny_opencl_test的cvtColor函数,发出如下警告信息:
getCacheDirectory Using world accessible cache directory. This may be not secure: /var/tmp/
我来回答
回答4个
时间排序
认可量排序
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片
相关问答
-
2019-01-11 14:30:48
-
2022-10-12 10:20:53
-
102017-08-03 08:34:15
-
2023-08-14 11:28:07
-
12022-06-17 09:36:32
-
2019-04-08 16:10:36
-
02018-01-31 17:36:56
-
2019-06-12 21:20:14
-
2020-10-27 10:41:16
-
2018-07-18 21:28:06
-
2018-10-27 17:18:53
-
2016-12-12 13:37:13
-
2017-08-23 13:25:52
-
2019-07-23 17:37:56
-
2018-05-11 10:53:30
-
2023-11-01 10:36:24
-
2019-02-25 10:31:29
-
2019-03-14 14:15:44
-
2018-10-29 09:42:36
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
10T32crop和fcrop怎么从中间裁剪?
-
53516卡死问题
-
10hi3516cv610 去除风扇声音,人说话声音正常输出不变声
-
5hi3516cv610适配imx662的wdr模式出图图像不正常怎么去解决
-
5ss928 [sample_comm_venc_get_venc_stream_proc]-2627: get venc stream time out, exit thread
-
10要一份RK3576最新硬件资料包
-
5海思DPU的查找表怎么获取
-
10海思Hi3519DV500 自动对焦算法求助
-
10鸿欧派 Hi3519Dv500
-
10【求助】RK3576实现推流和GC2053摄像头颜色偏绿
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认

微信扫码分享
QQ好友