1. 磐创AI首页
  2. Medium

使用整数…的属性查找图像中的水平和垂直边缘

在本文中,我们将看一看什么是整数图像,如何容易地计算它,如何使用它来查找类似Haar的特征,以及如何使用类似Haar的特征来查找图像中的某些特征,在我们的案例中是Lines。

什么是整体形象?

任何图像都可以被认为是一个二维网格,其中网格中的每个单元都是一个像素,其中存储的值是像素的强度。为了获得图像的积分,每个单元格包含其自身像素以及其左侧和上方列中所有像素强度的总和。本质上,它是矩阵的所有元素的总和,其中左上角元素是图像的左上角像素,右下角像素是考虑中的单元格。

从上图可以看出,整体图像中的每个单元格都是原始图像中其左侧和顶部单元格值的总和。例如单元格C3(306)=A1(10)+B1(20)+C1(10)+A2(90)+B2(16)+C2(75)+A3(50)+B3(30)+C3(5)。

有一个算法可以帮助我们在一次迭代中生成图像的积分:s(x,y)=i(x,y)+s(x-1,y)+s(x,y-1)-s(x-1,y-1)

其中s(x,y):积分图像中单元格(x,y)的值

i(x,y):原始图像中单元格(x,y)的值

什么是类似哈尔的特征?

类似Haar的特征是可缩放的矩形框架,用于显示图像中像素之间的关系。HAAR特征的可伸缩性指的是它们可以是除1×1矩形之外的任意大小的事实。它们可用于检测边缘、线条和四个矩形特征。edges, lines and four rectangle features

出于我们任务的目的,我们将研究如何使用它们来检测线路。首先要做的是将图像转换为灰度图像。因此,类Haar特征任务被简化为找出一组像素与另一组像素相比有多暗的情况。

从上图中我们可以看到,一条黑线(或一条白线)基本上是夹在两组较亮像素(较暗像素)之间的一组暗像素(白像素)。同样,根据定义,边缘是数字图像强度发生显著变化的区域。因此,我们可以看到,在上图中,一条线是由两条边组成的。因此,我们可以将我们的算法简化为只在图像中寻找边缘。

为了判断边是什么,我们找出矩形组中所有像素的总和,并与相邻的组进行比较。如果差值大于我们的阈值,那么我们就说它是一条边。例如,在上图中,如果黑色像素的值为1,白色像素的值为0,同时假定矩形的尺寸为300×200,且每个挡路相等。黑色矩形的强度和将等于100*200,而任何一个白色层的强度和将等于0。因此,在阈值为1000的情况下,我们说我们有优势。

整体形象是如何发挥作用的?

图像积分的优点之一是它允许在恒定时间内计算(例如面积)子图像。有了积分图像,很容易计算图像子区域内的像素总和。

在上图中,假设我们需要找出由A2、D2、D5、B5定义的矩形之间的总像素数。使用原始图像,我们必须将所有单元格值相加,即16+75+13+30+5+45+56+85+30+45+69+20=489。由此我们可以看到,计算次数随着所考虑区域内的单元格数量的增加而增加。

使用积分图像,我们只需要执行4次求和:D5-A5-D1+A1=824-275-70+10=489。无论外接矩形的大小如何,要执行的操作数量始终是恒定的。

使用上述概念查找图像中的垂直线


使用上面的图像,我们将使用类似Haar的特征来查找图像中的垂直线。我们将采取的步骤

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/08/04/%e4%bd%bf%e7%94%a8%e6%95%b4%e6%95%b0%e7%9a%84%e5%b1%9e%e6%80%a7%e6%9f%a5%e6%89%be%e5%9b%be%e5%83%8f%e4%b8%ad%e7%9a%84%e6%b0%b4%e5%b9%b3%e5%92%8c%e5%9e%82%e7%9b%b4%e8%be%b9%e7%bc%98-2/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息