Kirsch算子地质图像边缘检测算法并行化研究∗
2021-01-30田宸玮王雪纯杨嘉能钱育蓉
田宸玮,王雪纯,杨嘉能,钱育蓉†
(1. 新疆大学 软件学院,新疆 乌鲁木齐830008;2. 新疆维吾尔自治区信号检测与处理重点实验室,新疆 乌鲁木齐830008;3. 新疆大学 软件工程重点实验室,新疆 乌鲁木齐830008;4. 中国石油吐哈油田公司勘探开发研究院,新疆 哈密839009)
0 引言
近年来,飞速发展的数字图像处理技术普遍应用于各个领域,在地质勘探领域中也展现出巨大的潜力,用于检测及分析各种地质学信息[1,2].在视频图像处理领域,边缘检测也是较为基本的方法,常见的边缘检测算子包括Sobel算子、Prewitt算子、Roberts算子、LoG算子、Kirsch算子、Canny算子[3,4].Sobel算子和Prewitt算子在边缘定位方面有较好的效果,但是像素边缘容易产生过量[5−7];Roberts算子同样在定位边缘时有较高的准确度,但是在抗噪声方面表现较差[8];LoG算子在噪声抑制时会平滑较为尖锐的边缘,所以在弱边缘检测方面表现较差[9];Canny算子检测具有较高的检测准确率以及信噪比,且图像边缘的连续性和完整性较好,但是伪边缘的存在、抗噪声能力较差等问题依旧存在[10,11];Kirsch算子的边缘连续性和完整性较差,优点在于能较好的抑制噪声[12].因此,本文提出CUDA(Compute Unified Device Architecture,计算统一设备架构)下基于自动阈值的Kirsch算子边缘检测算法.
Kirsch算子通过对原始图像进行8个方向的边缘检测,对这8个方向的噪声具有一定平滑的作用.该算法需要对每一个像素进行相应的计算[13],属于典型的SIMT(Single Instruction Multiple Threads,单指令多线程)计算模式.考虑到边缘检测算子需要计算整个图像、处理效率不理想的问题,使用CUDA用于设计……