Hallo zusammen,
ich bin sowohl neu im Forum, als auch noch Anfänger in C#.
Ich habe eine Reihe Schnittbilder (Bitmap) eines Gehirns, wobei jedes Hirnareal eine bestimmte RGB-Farbe zugewiesen bekommen hat. Bis jetzt ist es so, dass das ganze Gehirn eines jeden Schnittbildes als ein Objekt betrachtet wird.
Die Arbeit besteht darin, das bmp-Bild so zu verändern, so dass jedes Hirnareal als ein eigenständiges Objekt angesehen wird. Somit wäre es möglich mit einem anderen Programm (vtk) aus jedem Hirnareal ein Volumen-Modell zu erstellen.
Ich habe mir überlegt jedes Pixel des bmp-Bildes auf die Farbe zu prüfen und entsprechend der Farbe jedem Pixel einen Schwellenwert zu vergeben. So würden beispielsweise alle Pixel eines bestimmten Rottons den gleichen Schwellenwert bekommen. Durch den Schwellenwert wären die jeweiligen Areale ansprechbar.
Oder ist mein Gedankengang falsch und ich kann auf eine andere Weise den Pixeln eines gleichen Farbtons Integer-Werte geben, so dass ich die einzelnen Areale ansprechen und dann als Volumen generieren kann?
Mein bisheriger Code sieht wie folgt aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| Bitmap original1 = new Bitmap("C:\\images\\hirn_012.bmp");
ImageAttributes attribute1 = new ImageAttributes(); for (int i = 0; i < original1.Width; i++) { for (int j = 0; j < original1.Height; j++) { Color originalColor = original1.GetPixel(i, j); if (originalColor.R == 254 && originalColor.G == 28 && originalColor.B == 0) { attribute1.SetThreshold(1); } } } original1.Save("C:\\Bild\\thresh_12.bmp"); |
Verfolge ich meinen Gedankengang jedem Pixel einen Schwelenwert ensprechend seiner Farbe zu vergeben, so weiß ich nicht wie dies zu programmieren ist. Denn den Schwellenwert den ich in meinem Programm setze gilt nicht dem entsprechenden Pixel, sondern ich denke dem ganzen Bild.
Kann mir jemand Denkanstöße oder Code-Beispiele geben?
Es wäre nett, wenn mir jemand helfen würde.
Viele Grüße
Olli