Bildbearbeitungseffekte / -filter

  • So dieses Programm ist schon seit ein zwei Wochen fertig, aber ich finde bist jetzt nicht den Grund warum es manchmal abstürzt, nichteinmal eine Regelmäßigkeit..

    Dazu kommt das bei großen Bildern der Farbfilter einen Absturz verursacht, warum auch immer und wenn man bei einem Bild erst Vorschau Farbfilter dann Vorschau Extension macht, stürzt er auch ab.


    Ansonsten läuft alles:
    Bild öffnen, Effekte auswählen und ausprobieren, Bild speichern / Programm schließen
    Das meiste ist selbsterklärend, wenn man Hilfe (F1) drückt sieht man, dass es noch 2 Textdateien zur Hilfe gibt.

    So zu den Funktionen:
    Matrix/Filter:
    Man gibt den Filter ein (z.B. einen aus der Hilfetextdatei) und lässt ihn über das Bild laufen. Damit kann man z.B. Blur, Sharpen und Kanten erkennen.

    Kantenerkennung:
    Erst Blurfilter, dann Kantenerkennungsfilter und dann ein Filter zum Linien verstärken läuft drüber.

    Bilder kombinieren (or):
    Bilder werden übereinandergelegt und dabei mit dem bitweisen OR verknüpft.

    Farbfilter:
    Man gibt zum Beispiel 0x00FF00 ein und nur die grüne Farbe des Bildes bleibt bestehen. Bei echten Bildern sieht man tatsächlich noch Schatten und Strukturen, ist auch mal ganz schön. Natürlich geht auch 0xFFFF00 oder 0xFFAA53 o.ä.. 0xRRGGBB

    Farbton:
    Mit dem Slidern kann man Rot dazuaddieren oder wegsubtrahierren und so einen Farbton über das Bild legen.

    Mosaik (schnell, ungenau):
    Bei deisem Mosaik wird von dem Rechteckt der angegebenen Größe das erste Pixel ausgelesen und überschreibt jedes andere.

    Mosaik (sehr langsam, genau):
    Bei diesem Mosaik (Autoit) wird der Durchschnitt aus den Farben errechnet und das Rechteck damit gefüllt.

    1 Bit:
    Das Bild wird mit der Schwelle 127 das Bild in ein 1-Bit-Bild umgewandelt, es gibt nur Schwarz und Weiß.

    Schwarzweiß:
    Durchschnitt aus Rot, Gelb und Grün ergibt den Grauton für den jeweiligen Pixel.

    Negativ:
    Das Bild wird zu einem Negativbild umgewandelt.

    Extension:
    Es lässt sich eine Extension auswählen,die im richtigen Ordner ist usw. Hilfe dazu auch in eienr Hilfetextdatei.


    Ich hoffe das Programm ist ganz Gut.

    Andy hat mir bei den Assemblerteilen schön geholen :thumbup:

    Screenshot vom Programm:
    autoit.de/wcf/attachment/13228/

    Screenshot von einem Ergebnis:
    autoit.de/wcf/attachment/13227/

    Zip mit Allem drin ist im Anhang!
    Ich bitte um Rückmeldungen, danke!

  • Sehr schön schnell!

    Drei Fehler tauchen bei mir auf:
    1) Farbfilter: totaler Absturz -> !>21:55:58 AutoIT3.exe ended.rc:-1073741819
    2) Das Fenster, wo ich dein Proggy starte, wird verändert
    3) Extension -> Clear:
    Bildbearbeitung.au3 (521) : ==> Expected a "=" operator in assignment statement.:
    $info[$i-1]=FileReadLine($file)
    $info^ ERROR
    In welchem Format muss ich die Farbe eingeben?

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Danke für die Rückmeldung
    Du kannst die Farbe mit 0xFFFFFF eingeben oder als Dezimale, wie du willst, Hex wird aber leichter sein ^^
    Der Farbfilter stürzt bei großen Bildern aus komischem Grund ab, irgendwie gibt der warscheinlich keinen so großen Speicher frei und hat deswegen einen Fehler beim Lesen.

    Welches Fenster wird denn wie verändert? Hab ich jetzt nicht ganz verstanden

  • Zum Beispiel, wenn ich mit F5 in SciTE dein Skript starte, dann wird die Größe des SciTE Fensters verändert.

    Ach ja, getestet auf Win7 x64.

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Hm die Größe verändert sich bei mir nicht, bei mir kommen anscheinend immer Betriebssystemspezifische Fehler, naja aber eins ist mir früher aufgefallen, was seit dem das GDI+ aktualisieren weg ist, dass das Feld hinter dem Fenster wenn man mit einem anderen Programm etwas macht sich nicht verändert bzw. wechselt zwischen alte Grafik und neue Grafik, aber wie gesagt das ist weg. Ich versuche mal den Ursacher zu finden, wobei das schwer wird, wenn ich kein Win7 hab (Ich hab Win XP Prof x86)

  • Ich hab mal ein ca. gleich großes Bild probiert, das sind die "zufälligen" Abstürze, aber bei großen Bildern kommen die glaube ich öfter als bei kleinen

  • Ich hab mal (zumindest) den Filter in C++ nachgebaut, da stürzt jetzt nichts auf, kein einziger Bug entdeckt! Der Inline-Assembler ist wohl einfach besser, wenn er einkompiliert wird, und ich hab das Bild in Segmenten mit GDI+ Bitmap::LockBits bearbeitet.
    Dazu sind es nur ca. 26 KB und läuft ganz ohne Icons im Ordner, die Exe kann man verschicken und es wird trotzdem alles angezeigt!
    Wer es sich mal angucken will, Download.

    EDIT:
    Ich hab soeben einen sehr guten Sharpen-Filter gefunden, der sharpt besser mit weniger Pixelrauschen!
    2 0 0
    -1 1 1
    0 0-2

  • Ich benötige die MSVCR100.dll - genauso wie in der AutoIt v3.3.7.0 (Beta) ;)

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Das ist die Release-Version, da dürfte es eigentlich keine DLL brauchen, komisch.
    Nichtsdestotrotz:
    autoit.de/wcf/attachment/13355/

    Ah da sehe ich gerade:
    Damit wirst du keine Probleme mehr mit irgendwelchen Visual-C++-Exen haben:
    http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84&displayLang=de

  • Den Mosaikeffekt kann man glaube ich auch anderst realisieren.

    Eine Leere Bitmap mit 1/x der Eingestellten Größe erstellen.
    Das bild mit Interpolation verkleinern - Dabei wird soweit ich weiß der Mittelwert aus den vereinten Pixeln genommen.
    Von diesem Bitmap wieder ins ursprüngliche Bild kopieren ohne Interpolation. (Nearest Pixel)

    Das müsste das gleiche Ergebnis wie die langsame Variante ergeben, aber wesentlich schneller ablaufen. (Da Blitten oder GDI+ recht schnell sind)

    lg
    Mars(i)