前言
随着大数据时代的来临,越来越多的图像需要实时处理。随之而来的使用C++编程的机器视觉库OpenCV以及驱动GPU的CUDA也变得越来越火热。
OpenCV是机器视觉领域非常著名的开源库,它几乎被应用到机器视觉的所有领域,其功能几乎涵盖每个研究方向。OpenCV包含了底层的图像处理、中层的图像分析以及高层的视觉技术。而且,其算法紧跟视觉前沿,将最新的算法纳入其中。特别是OpenCV 2系列的出现,可以使用C++进行编程,并且可以使用GPU为图像处理进行加速。OpenCV在图像界是相当重要的工具,也是很多图像领域研究人员极力推荐的库。
CUDA作为一种并行计算架构,是以GPU为数据并行计算设备的软硬件体系。CUDA以C语言为基础,可以直接用C语言写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或特殊的结构。因此,CUDA被广泛应用在视频编解码、金融、地质勘探、科学计算等领域。
作为并行图像处理的入门级教材,本书将并行计算架构CUDA和机器视觉库OpenCV结合,以大量示例程序为主线,详细介绍了如何搭建OpenCV环境,如何使用Cmake编译CUDA和OpenCV,以及环境搭建过程中可能出现的错误和解决方案。编写本书的初衷是希望更多初步接触GPU和图像处理的读者可以快速搭建好环境并快速了解OpenCV和CUDA的基础知识,节省入门消耗的时间。
由衷感谢我的导师宋清洋对于我学业和生活上的支持与鼓励,以及对这本书的付出。感谢栾峰老师对我学业上的指点,没有他的指点也就不会有这本书的诞生。感谢我的好兄弟郑建斌和学姐包锡伟在我学习图像处理的过程中对我的指导。
真心希望读者可以轻松地入门并行图像处理技术。由于作者水平有限,书中难免有不足之处,恳请读者批评指正。
王泽宇
2019年3月于东北大学