唐斌
,
龙文
液晶与显示
doi:10.3788/YJYXS20163107.0714
本文提出一种基于 GPU+CPU 的快速实现 Canny 算子的方法.首先将算子分为串行和并行两部分,高斯滤波、梯度幅值和方向计算、非极大值抑制和双阈值处理在 GPU 中完成,将二维高斯滤波分解为水平方向上和垂直方向上的两次一维滤波从而降低计算的复杂度;然后使用 CUDA 编程完成多线程并行计算以加快计算速度;最后使用共享存储器隐藏线程访问全局存储的延迟;在 CPU 中则使用队列 FIFO 完成边缘连接.仿真测试结果表明:对分辨率为1024×1024的8位图像的处理时间为122 ms,相对应单独使用 CPU 而言,加速比最高可达5.39倍,因此本文方法充分利用了GPU 的并行性的特征和 CPU 的串行处理能力.
关键词:
CANNY
,
CUDA
,
GPU
,
加速