
cuda程序
MGotze
在校学生党,未来图像处理码农一枚
展开
-
我的CUDA学习之旅——启程
引言本人从今年3月份开始在做学校项目(机器视觉项目)时接触到了并行编程这一概念,项目的主要目的是对蚕茧的雌雄以及品质进行检测以及分选,那时候的目的是为了在图像识别的时候通过多个线程同时对多张传入的图片进行并行处理以达到加速程序运行速度,运用的方法主要是利用了C++自带的future库以及thread库,具体实现方法可参照此博客C++11 并发指南四 此方法简单来说是利用了目前计算机为多核式结构(四原创 2017-07-16 18:12:27 · 2050 阅读 · 2 评论 -
我的CUDA学习之旅1——大图像分块处理程序(包括求均值,最大值等)
引言在我的第一篇文章中我简单介绍了CUDA以及我的一些个人学习见解,在本文中我将开始正式开始CUDA实践之旅,众做周知CUDA目前应用的领域十分广泛,它能把一些普通的CPU代码提速几十倍甚至几百倍。在本人所从事的图像处理领域,在一些大图像的处理上(4K以上图像),仅仅依靠CPU进行计算已经完全无法满足工程项目所要求的运行时间,这时候我们就需要利用CUDA对代码进行加速。本文以一个8000*1000图原创 2017-07-17 22:06:24 · 8123 阅读 · 6 评论 -
我的CUDA学习之旅3——图像灰度化、灰度直方图统计
引言在大部分的图像处理程序中,其中必不可少的一步就是对传入的彩图进行灰度处理,将三个通道的RGB图片转化为单通道的Gray图,而对于灰度图进行直方图统计同样是观察检测图像特征的常用方法。在OpenCV中已经有成熟的封装函数进行上述功能的实现,本文主要讲述CUDA实现,加快对大图像的处理速度。任务要求输入一张彩色图片,通过CUDA将其转换为灰度图,并对灰度图进行灰度直方图统计。实现思路关于彩色图片灰度原创 2017-08-16 14:37:23 · 3739 阅读 · 3 评论 -
我的CUDA学习之旅4——Sobel算子图像边缘检测CUDA实现
引言关于图像边缘检测,记得刚开始接触图像处理时,第一个自己实现的程序是通过笔记本摄像头采集图像,利用OpenCV自带的算法库进行Canny算子边缘检测,那时候当看到程序运行后,视频窗口实时显示经Canny算子边缘分割后的图像,觉得十分有科技感,后来慢慢开始自己写边缘检测的源代码,本博客以Sobel算子为例,将边缘检测通过CUDA实现。任务要求输入一张图片,将其转为灰度图后,通过CUDA在GPU中对图原创 2017-09-11 15:58:08 · 7976 阅读 · 6 评论 -
我的CUDA学习之旅2——图像形态学腐蚀、膨胀CUDA实现
引言由于上两周杂七杂八的事情比较多加上自己写的算法有些问题,一直改bug。。。。没时间继续写博客,今天开始补上博客。从这篇文章起,开始将一些较为典型的OpenCV算法通过CUDA进行实现,本文实现的为图像处理中最为常见的形态学腐蚀以及膨胀,由于本文目的在于算法移植后的验证,故在图片的选择上用小图像作为输入的示例图像,有不当之处欢迎评论或私信~任务要求输入一张图片,将其转为灰度图后,通过CUDA在GP原创 2017-07-31 16:23:38 · 9501 阅读 · 22 评论 -
我的CUDA学习之旅5——OTSU二值算法(最大类间方差法、大津法)CUDA实现
引言最近在做医疗设备相关的项目,故在项目中大量用到了各类图像分割的算法,为了在图像中分割出特定目标,用到的算法可以有很多,比如阈值分割,多通道分割,边缘分割以及一些前沿的组合分割。而对大多数图像来说,分割的一大难点是将待识别的目标与背景分离,其中一种有效简单的方法就是二值化(并不都有效),本博客试着将二值化算法中的OTSU算法进行cuda改写。任务要求输入一张8bit的灰度图,通过CUDA在GPU中原创 2017-10-17 13:00:19 · 2462 阅读 · 0 评论