【CUDA学习笔记】第十篇:基本计算机视觉操作【下】(附实践源码下载)(二)

简介: 【CUDA学习笔记】第十篇:基本计算机视觉操作【下】(附实践源码下载)(二)

2、图像形态学操作


       图像形态学与图像的区域和形状有关,用来提取有助于表示形状和区域的图像组件。与前面看到的其他图像处理操作不同,图像形态学将图像视为一堆集合的总和。图像与一种称为结构元素的小模板交互作用,这种小模板定义图像形态学中的感兴趣区域或邻域。这里将逐一解释各种可执行在图像上的形态学操作:


侵蚀:侵蚀将中心像素设置为邻域中所有像素的最小值,邻域由结构元素所定义,结构元素是1和0所组成的矩阵。侵蚀用于扩大物体中的孔、缩小边界、消除孤岛区块,并消除可能存在于图像边界上的狭窄半岛。


膨胀:膨胀将中心像素设置为邻域中所有像素的最大值,膨胀增大了白色块的尺寸并减小了黑色区域的尺寸。它用于填充对象中的孔并扩展对象的边界。


开运算:图像开运算基本上是侵蚀和膨胀的组合,图像开口被定义为先侵蚀,然后膨胀。两个操作都使用相同的结构元素执行,用于平滑图像的轮廓、分解窄桥并隔离彼此接触的物体。它用于分析发动机油中的磨损颗粒、再生纸中的油墨颗粒等。


 闭运算:图像闭运算定义为先膨胀,然后侵蚀。两个操作都使用相同的结构元素执行,用于融合狭窄的断裂并消除小孔。


       通过应用于仅包含黑色和白色的二值图像,有助于理解形态算子。OpenCV和CUDA提供了一个简单的API,可以对图像进行形态转换,代码如下:

       需要首先创建定义形态操作的邻域的结构元素,这可以通过在OpenCV中使用get-StructuringElement函数来完成。需要提供结构元素的形状和大小作为此函数的参数,本代码中定义5×5大小的矩形结构元素。


       使用createMorphologyFilter函数创建形态学操作的滤波器,需要三个强制性参数:第一个参数定义要执行的操作——cv::MORPH_ERODE用于侵蚀、cv::MORPH_DILATE用于膨胀、cv::MORPH_OPEN用于开运算、cv::MORPH_CLOSE用于闭运算;第二个参数是图像的数据类型;第三个参数是先前创建的结构元素。用apply方法在图像上调用这些滤波器。


       图像上的形态学操作输出如图:

       从输出可以看出,侵蚀减少了物体的边界,而膨胀使其变厚。我们认为白色部分是对象而黑色部分是背景。开运算可以平滑图像的轮廓,闭运算消除图像中的小孔。

       总而言之,形态学操作对于找出用于定义图像的形状和区域的组件是重要的,它可用于填充图像中的孔并使图像的轮廓平滑。


3、总结上下部分


       访问图像中特定位置的像素强度的方法,当我们对图像执行逐点运算时,它非常有用。直方图是用于描述图像的非常重要的全局特征,计算直方图的方法和直方图均衡化提高了图像的视觉质量。

       图像滤波是一种有用的邻域处理技术,用于消除噪声、提取图像的边缘特征,并进行了详细描述。

       低通滤波器用于消除噪声,但它也会模糊图像的边缘;

       高通滤波器去除被视为低频区域的背景,同时增强被视为高频区域的边缘。

       不同的形态学操作,如侵蚀,膨胀,开运算和闭运算,可用于描述图像的形状和填充图像中的孔。

相关文章
|
2月前
|
机器学习/深度学习 监控 算法
基于计算机视觉(opencv)的运动计数(运动辅助)系统-源码+注释+报告
基于计算机视觉(opencv)的运动计数(运动辅助)系统-源码+注释+报告
59 3
|
2月前
|
机器学习/深度学习 算法 PyTorch
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
72 1
|
4月前
|
监控 算法 自动驾驶
计算机视觉的实践与挑战:技术深度剖析
【8月更文挑战第21天】计算机视觉技术作为人工智能的璀璨明珠,正逐步深入到我们生活的各个方面,带来前所未有的便利和变革。然而,随着技术的不断发展,我们也面临着诸多挑战和问题。未来,我们需要不断推动技术创新和跨学科合作,加强数据安全和隐私保护,提升算法的鲁棒性和可解释性,以应对这些挑战并推动计算机视觉技术的持续发展。让我们共同努力,探索计算机视觉技术的广阔天地,为创造一个更加智能、安全和美好的世界而不懈努力。
|
7月前
|
文字识别 算法 TensorFlow
【Keras+计算机视觉+Tensorflow】OCR文字识别实战(附源码和数据集 超详细必看)
【Keras+计算机视觉+Tensorflow】OCR文字识别实战(附源码和数据集 超详细必看)
194 2
|
7月前
|
算法 数据库 计算机视觉
【计算机视觉】FCN、Seg-Net、U-Net模型进行图像分割实战(附源码和数据集 超详细必看)
【计算机视觉】FCN、Seg-Net、U-Net模型进行图像分割实战(附源码和数据集 超详细必看)
270 2
|
7月前
|
机器学习/深度学习 算法 TensorFlow
【Keras+计算机视觉+Tensorflow】实现基于YOLO和Deep Sort的目标检测与跟踪实战(附源码和数据集)
【Keras+计算机视觉+Tensorflow】实现基于YOLO和Deep Sort的目标检测与跟踪实战(附源码和数据集)
125 1
|
7月前
|
机器学习/深度学习 计算机视觉 Python
【Python计算机视觉】项目实战之图像增强imguag对关键点变换、标注框变化(附源码 超详细必看)
【Python计算机视觉】项目实战之图像增强imguag对关键点变换、标注框变化(附源码 超详细必看)
216 0
|
7月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Keras+计算机视觉+Tensorflow】DCGAN对抗生成网络在MNIST手写数据集上实战(附源码和数据集 超详细)
【Keras+计算机视觉+Tensorflow】DCGAN对抗生成网络在MNIST手写数据集上实战(附源码和数据集 超详细)
132 0
|
7月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
126 0
|
7月前
|
机器学习/深度学习 并行计算 算法
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
【计算机视觉+CNN】keras+ResNet残差网络实现图像识别分类实战(附源码和数据集 超详细)
209 0

热门文章

最新文章