Hallo!
Ich betreibe für meine Doktorarbeit eine Webseite, die Ärzte bei Fragen zu Ultraschallbildern berät. Oft werden Vorschauscans hochgeladen. Die haben etwa 2000x3000 Pixel, und irgendwo auf der dreckigen hellen Scannerfläche lag das kleine, verdrehte, rechteckige, dunkle Bild. Es ergibt sich das Problem, dass diese Bilder nicht auf Webseiten angezeigt werden können. Würde ich sie einfach nur kleiner skalieren, wäre nichts mehr vom Sonografiebild zu erkennen.
Bisher habe ich ein Programm in C zusammengehackt, das die Bilder findet, gerade dreht und ausschneidet. Das ist nur fürchterlich langsam und bei sehr hohen Auflösungen instabil. Gibt es so etwas von ImageMagick oder so fertig? Oder eine Bibliothek für C, Perl, Pyhon, PHP, sonstwas?
Gruß von Thomas
On Thu, Mar 11, 2010 at 11:05:10AM +0100, Thomas Schmidt wrote:
Hallo!
Hej Thomas,
Bisher habe ich ein Programm in C zusammengehackt, das die Bilder findet, gerade dreht und ausschneidet. Das ist nur fürchterlich langsam und bei sehr hohen Auflösungen instabil. Gibt es so etwas von ImageMagick oder so fertig? Oder eine Bibliothek für C, Perl, Pyhon, PHP, sonstwas?
Für Bildbearbeitung im medizinischen Bereich wird eigentlich meistens die Bibliothek ITK von KitWare verwendet. Sie ist OpenSource und bietet eine Unmenge an Algorithmen zur Bildanalyse und -segmentierung.
Ciao, Tobias
Am Donnerstag, den 11.03.2010, 11:18 +0100 schrieb Tobias Koenig:
On Thu, Mar 11, 2010 at 11:05:10AM +0100, Thomas Schmidt wrote:
Bisher habe ich ein Programm in C zusammengehackt, das die Bilder findet, gerade dreht und ausschneidet. Das ist nur fürchterlich langsam und bei sehr hohen Auflösungen instabil. Gibt es so etwas von ImageMagick oder so fertig? Oder eine Bibliothek für C, Perl, Pyhon, PHP, sonstwas?
Für Bildbearbeitung im medizinischen Bereich wird eigentlich meistens die Bibliothek ITK von KitWare verwendet. Sie ist OpenSource und bietet eine Unmenge an Algorithmen zur Bildanalyse und -segmentierung.
Im ITK ist eine Funktion ImageRegionIterator, die aus der großen schwarzen Fläche eines CT-Bildes den Körper vergrößert. Eventuell hilft mir das weiter. Vielen Dank!
Weitere Hinweise nehme ich gerne an. Wir haben bereits sechs Wochen in diesen Algorithmus zur Bildoptimierung gesteckt und kein verwendbares Resultat.
Grüße von Thomas
Weitere Hinweise nehme ich gerne an. Wir haben bereits sechs Wochen in diesen Algorithmus zur Bildoptimierung gesteckt und kein verwendbares Resultat.
Grüße von Thomas
Ich bin mir unsicher ob dir das Hilft, aber eventuell lässt sich sowas mit OpenCV (http://opencv.willowgarage.com/wiki/) machen. Hierfür gibt's auch ein sehr gutes Python-Binding. OpenCV kann unter anderem zur Objekterkennung genutzt werden. Ich habe damit vor einiger Zeit ein Script geschrieben, welches Gesichter in Bildern erkennt und herausschneidet. Dabei konnte ich mich aber auf viel Vorarbeit von anderen stützten. Mit etwas Geduld und Enthusiasmus kann man damit aber sicher auch ein Objekt auf einer Fläche erkennen.
Grüße, Frank
Hallo!
Mittlerweile fand ich ein paar Ansätze. Anscheinend sind verdrehte, verrauschte, zu hoch aufgelöste Bilder mit unnötigen Rändern und unmöglichen Dateiformaten ein Standardproblem in der Bildverarbeitung [1-6].
Die klassische Signalverarbeitung mit Algorithmen zur Mustererkennung (Gesichter, Gegenstände, Himmel) könnte das zwar auch, aber diese Lösungen scheinen schon dichter an meiner Aufgabe zu sein.
Thomas
[1] http://unpaper.berlios.de/ [2] http://leocharre.com/articles/how-to-deskew-an-image/ [3] http://www.magickwand.org/MagickTrimImage.html [4] http://www.imagemagick.org/script/command-line-options.php#trim [5] http://www.imagemagick.org/script/command-line-options.php#deskew [6] http://www.fmwconcepts.com/imagemagick/unrotate/index.php
lug-dd@mailman.schlittermann.de