基于形态学操作提取水平和垂直线条(五线谱中音符和乐谱线的分离)

本文介绍如何利用OpenCV的形态学操作(膨胀和腐蚀)结合自定义核来提取五线谱中的水平和垂直线条。通过调整结构元素的形状和大小,可以有效地从乐谱图像中分离音符和线条,实现图像处理的目的。
摘要由CSDN通过智能技术生成

目的:

结合自定义核,应用两个非常常见的形态学算子(例如,扩张和侵蚀),提取水平和垂直方向的线条。将会用到以下OpenCV函数:

  • cv::erode
  • cv::dilate
  • cv::getStructuringElement

接下里的例子是从乐谱中提取音符(五线谱中音符和乐谱线的分离)


理论

Morphology Operations

形态学是一组图像处理操作, 基于预定义的structuring elements(也被称为核)。输出图像中的每个像素的值是基于中心像素与输入图像中相邻像素的值的比较确定。通过选择核的大小和形状,可以构造一个对输入图像的特定形状敏感的形态学运算。
两个最基本的形态操作是膨胀和腐蚀。膨胀会将像素添加到图像中的对象的边界,而腐蚀正好相反。添加或删除的像素的量,分别取决于用于处理图像的结构元素的大小和形状。一般来说,这两个操作的规则如下:


  • 膨胀(Dilation):输出像素的值是在结构元素的大小和形状上的所有像素的最大值。例如,在一个二值图像中,如果在核的范围内的输入图像的任何一个像素都被设置为值1,则输出图像的相应的像素将被设置为1。后者适用于任何类型的图像(如灰度,BGR,等)。


  • 二值图像的膨胀(Dilation on a Binary Image)

    灰度图像的膨胀(Dilation on a Grayscale Image)
  • Erosion: 反之腐蚀操作的应用亦然,输出像素的值是在结构元素的大小和形状上的所有像素的最小值。下图是例子:



二值图像的腐蚀(Erosion on a Binary Image)


灰度图像的腐蚀(Erosion on a Grayscale Image)

Structuring Elements(结构元素)

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值