【发布时间】:2014-07-14 13:08:56
【问题描述】:
找到 blob 质心(质心)的算法是什么?
我找到了上面的等式,但我不知道如何将它翻译成 VB 6.0。我在网上找了一个VB 6.0的简单质心算法,但没有找到计算X和Y坐标值的算法。
我尝试在 VB6.0 中执行上述算法。但是,它总是以1为中心。:
Private Sub FindCentroid(bmp As PictureBox)
Dim area As Double
Dim x As Integer, y As Integer
Dim Xc, Yc, Xs, Ys As Integer
area = 0
For y = 0 To bmp.ScaleHeight - 1
For x = 0 To bmp.ScaleWidth - 1
If bmp.Point(x, y) = vbWhite Then area = area + 1
Next x: Next y
Xs = 0
For y = 0 To bmp.ScaleHeight - 1
For x = 0 To bmp.ScaleWidth - 1
If bmp.Point(x, y) = vbWhite Then Xs = Xs + 1
Next x
Next y
Ys = 0
For y = 0 To bmp.ScaleWidth - 1
For x = 0 To bmp.ScaleHeight - 1
If bmp.Point(y, x) = vbWhite Then Ys = Ys + 1
Next x
Next y
Xc = Xs / area
Yc = Xs / area
End Sub
【问题讨论】:
-
你能解释一下有什么困难吗?这相当简单,只需找到 x 和 y 坐标的平均值(超过 blob 像素)
-
@OphirGvirtzer 我附上了VB6代码,质心总是1。你能修复代码