Bildverarbeitung (Histogramm ...)



  • Hallo zusammen!

    Ich habe ein kleines Problem. Ich bin kein Programmier-Ass und habe mit C# oder C++ auch noch nichts wirklich programmiert.

    Allerdings will ich für ein Projekt ein Programm schreiben, mit dem ich von einer Kamera aufgenommene Bilder auswerten kann (Histogramm, Rückschluss auf Fläche, evt. ein paar Filter etc.). Mit Borland Delphi hatte ich schon mal so etwas programmiert.

    Nun ist allerdings der Umstand eingetreten, dass ich Visual Studio .NET 2003 zur Verfügung habe (und nur das), mit dem ich ähnliches noch einmal programmieren muss.

    Jetzt stellt sich mir zuerst einmal die Frage. Was ist das denn alles mit dem .Net? Ich habe natürlich schon ein paar Beiträge zu dem Thema gelesen. Aber ich habe auch noch ein paar Bücher über VC++ 6 und VB 6. Kann ich die jetzt in die Tonne kloppen, weil sich viel zu viel geändert hat?

    Dann wäre da noch die Frage, welche Sprache lerne ich denn jetzt am besten. Ist C++ .Net umfangreicher und dafür schwerer, oder dann doch eher C#.
    Ich habe (in einem anderen Forum) gelesen, dass mit VB.NET zwar Punktoperationen, also Pixelweise-Operationen über Get- und SetPixel, an Bildern möglich sind, jedoch nicht über Zeigeroperationen (bei Borland gabs da ein ScanLine), was die ganze Sache unsagbar langsam macht. Wie sieht's denn da mit den anderen Sprachen aus???

    Zusammenfassung:

    1. C++ 6 ~ C++ .Net ???
    2. Besser C++ .Net oder C# lernen ???
    3. schnelle Algorithmen für Bildbearbeitung möglich ???

    Ich weiß das war jetzt viel, aber ich hoffe trotzdem das Ihr mir ein paar Tipps geben könnt. Danke schon mal im voraus!



  • Also was .net ist steht hier.

    Ob du jetzt C# oder C++ nimmst is wohl eher Geschmackssache. Ich würde zu C# raten, falls du nicht alzu viel Erfahrung in C++ hast. Bei C# sind viele nervige Fehler nicht mehr möglich (Speicherlecks, Zugriff auf nicht alloziierten Speicher, ...).
    Wie das mit den Bilddaten und schnellen Funktionen aussieht kann ich nicht sagen, aber zur Not kann man auch den unsafed-Modus von C# benutzen, wenn man direkt mit Zeigern arbeiten will.

    btw.: Es gibt Visual C# 2005 Express kostenlos zum runterladen. Damit kannst du dann auch gleich auf .NET 2.0 entwickeln ^^.



  • Für Bildmanipulation würde ich sogar dringend zum unsafe Modus raten, da die Get- und SetPixel-Methoden der Bitmapklasse recht lahm sind. Mit LockBits erhält man einen sehr schnellen Zugriff auf Imagedaten. Von der Geschwindigkeit her dürfte sich das mit C++ nichts nehmen.

    http://www.codersource.net/csharp_image_Processing.aspx


Anmelden zum Antworten