6234
- 收藏
- 点赞
- 分享
- 举报
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. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2022-10-12 10:20:53
-
2019-01-11 14:30:48
-
102017-08-03 08:34:15
-
12022-06-17 09:36:32
-
2023-08-14 11:28:07
-
02018-01-31 17:36:56
-
2019-04-08 16:10:36
-
2019-06-12 21:20:14
-
2020-10-27 10:41:16
-
2017-08-23 13:25:52
-
2018-10-27 17:18:53
-
2019-07-23 17:37:56
-
2018-07-18 21:28:06
-
2023-11-01 10:36:24
-
2018-05-11 10:53:30
-
2016-12-12 13:37:13
-
2019-02-25 10:31:29
-
2019-01-17 14:25:33
-
2019-03-14 14:15:44
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5SS928的emmc有32GB,bootargs设置使用16GB,但是为啥能用的只有rootfs的大小
-
33SS928怎样烧写ubuntu系统
-
10ToolPlatform下载rootfs提示网络失败
-
10谁有GK7205V500的SDK
-
5Hi3516CV610 烧录不进去
-
10Hi3559AV100 芯片硬解码h265编码格式的视频时出现视频播放错误,解码错误信息 s32PackErr:码流有错
-
5海思SS928 / SD3403的sample_venc.c摄像头编码Demo中,采集到的摄像头的YUV数据在哪个相关的函数中?
-
5海鸥派openEuler无法启动网卡,连接WIFI存在问题
-
66有没有ISP相关的巨佬帮忙看看SS928对接IMX347的图像问题
-
50求助hi3559与FPGA通过SLVS-EC接口对接问题
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认