Hallo,
ich habe eine Funktion geschrieben, welche in einem bestimmten Bereich eines SW-Bildes die Anzahl der schwarzen Pixel zählt. Leider muss ich diese Operation mehrmals pro Bild wiederholen, sodass es sehr lange dauert, bis das Bild bearbeitet wurde. Vielleicht hat jemand eine Idee, wie man diesen Code beschleunigen könnte?
Herzlichen Dank!
ich habe eine Funktion geschrieben, welche in einem bestimmten Bereich eines SW-Bildes die Anzahl der schwarzen Pixel zählt. Leider muss ich diese Operation mehrmals pro Bild wiederholen, sodass es sehr lange dauert, bis das Bild bearbeitet wurde. Vielleicht hat jemand eine Idee, wie man diesen Code beschleunigen könnte?
VB.NET-Quellcode
- Function SchwarzePixelZaehlen(ByVal y As Integer, ByVal x As Integer, ByVal hohe As Integer, ByVal breite As Integer, ByVal bmp As Bitmap)
- 'Diese Funktion zählt die Anzahl der schwarzen Pixel in einem bestimmten Bereich eines Bildes
- Dim ax As Integer
- Dim ay As Integer
- Dim ab As Integer
- Dim ah As Integer
- Dim SchwarzePixel As Integer = 0
- Dim farbe As Color
- ax = x - (breite * 0.1) 'Die Breite und Höhe des Bereiches wird erweitert
- ay = y - (hohe * 0.1) '
- ab = 1.2 * breite '
- ah = 1.2 * hohe '
- Dim ayAnfang As Integer = ay 'aYanfang definieren
- Dim axanfang
- Do
- axanfang = ax
- Do
- farbe = bmp.GetPixel(axanfang, ay)
- If farbe.GetBrightness = 0 Then
- SchwarzePixel = SchwarzePixel + 1 'bei schwarzem pixel einen dazu zählen
- End If
- axanfang = axanfang + 1
- Loop Until axanfang > ax + ab
- ay = ay + 1
- Loop Until ay > ayAnfang + ah
- SchwarzePixelZaehlen = SchwarzePixel
- End Function
Herzlichen Dank!