寻找斑点质心(质心)的算法是什么?查找斑点质心
我发现上面的公式,但我不知道如何把它翻译成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.你能修复代码 – user3819984