OpenCV入门7:图像形态学变换

形态学是一种针对图像形状和结构进行操作和分析的图像处理方法。在OpenCV中,提供了一些函数和方法用于执行形态学操作。下面将介绍一些常见的形态学操作及其在OpenCV中的实现方式。

  • 膨胀(Dilation):

膨胀操作可以扩展图像中的边缘和明显的亮区域。它通过在图像上滑动一个结构元素(通常是一个正方形或圆形的小区域),将与该结构元素有重叠的区域像素的最大值赋给输出图像中的对应像素。在OpenCV中,可以使用cv::dilate()函数进行膨胀操作。以下是一个示例:

cpp 复制代码
cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE); // 读取灰度图像 cv::Mat dilatedImage; 
// 结构元素为3x3的矩形 
cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3)); 
cv::dilate(image, dilatedImage, kernel); // 图像膨胀
  • 腐蚀(Erosion):

腐蚀操作与膨胀操作相反,可以消除图像中的边缘和明显的亮区域,使其变窄。它通过在图像上滑动一个结构元素,将与该结构元素完全重叠的区域像素的最小值赋给输出图像中的对应像素。在OpenCV中,可以使用cv::erode()函数进行腐蚀操作。以下是一个示例:

cpp 复制代码
cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE); // 读取灰度图像 
cv::Mat erodedImage; 
// 结构元素为3x3的矩形 
cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3)); 
cv::erode(image, erodedImage, kernel); // 图像腐蚀
  • 开运算(Opening)和闭运算(Closing):

开运算和闭运算是形态学操作中常用的组合操作,包括先腐蚀后膨胀(开运算)和先膨胀后腐蚀(闭运算)。开运算可以消除图像中的噪声和细小的斑点,而闭运算可以填充图像中的孔洞和连接断开的区域。在OpenCV中,可以使用cv::morphologyEx()函数进行开运算和闭运算操作。以下是一个示例:

cpp 复制代码
cv::Mat image = cv::imread("image.jpg", cv::IMREAD_GRAYSCALE); // 读取灰度图像 cv::Mat openedImage, closedImage; 
// 结构元素为3x3的矩形 
cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(3, 3));
cv::morphologyEx(image, openedImage, cv::MORPH_OPEN, kernel); // 开运算 
cv::morphologyEx(image, closedImage, cv::MORPH_CLOSE, kernel); // 闭运算

以上是OpenCV中常见的形态学操作的示例,包括膨胀、腐蚀、开运算和闭运算等。通过这些操作,可以对图像进行形状和结构上的改变和逐渐调整。

相关推荐
Lun3866buzha4 小时前
篮球场景目标检测与定位_YOLO11-RFPN实现详解
人工智能·目标检测·计算机视觉
Coding茶水间7 小时前
基于深度学习的非机动车头盔检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉
roman_日积跬步-终至千里10 小时前
【计算机视觉(16)】语义理解-训练神经网络1_激活_预处理_初始化_BN
人工智能·神经网络·计算机视觉
一个没有感情的程序猿11 小时前
前端实现人体骨架检测与姿态对比:基于 MediaPipe 的完整方案
机器学习·计算机视觉·前端框架·开源
ccLianLian12 小时前
计算机视觉·LaVG
人工智能·计算机视觉
CoovallyAIHub13 小时前
从“模仿”到“进化”!华科&小米开源MindDrive:在线强化学习重塑「语言-动作」闭环驾驶
深度学习·算法·计算机视觉
梦梦c13 小时前
检查数据集信息
人工智能·计算机视觉
CoovallyAIHub13 小时前
SAM 真的开始「分割一切」,从图像到声音,Meta 开源 SAM Audio
深度学习·算法·计算机视觉
roman_日积跬步-终至千里14 小时前
【计算机视觉(19)】语义理解-CNN应用_目标检测_语义分割
目标检测·计算机视觉·cnn
这张生成的图像能检测吗15 小时前
(论文速读)LCT:用于RGB-D突出物体检测的轻型跨模态变压器
图像处理·目标检测·计算机视觉·深度估计·轻量化模型·跨模态融合·rgb-d