oMage

Kommentare anzeigen Worklog abonnieren
Gehe zu Seite 1, 2  Weiter

Worklogs oMage

und schon wieder was neues...

Samstag, 21. Februar 2009 von mabox
Neu hinzugekommen ist eine Art Menü, in welchem man ein Bilderverzeichnis auswählen, oder ein neues erstellen kann. Somit ist jetzt auch die erste Version zum runterladen fertig: Download
Gern könnt ihr Kritik und Bugs melden.

Das Problem mit der Auflösung ist nun gelöst, doch damit kam sofort das nächste und zwar ergeben sich je nach dem Größenverhältnis des Originalbilds und der kleinen Bilder manchmal schwarze Ränder rechts und unten. Das lässt sich aber nachbearbeiten oder man achtet halt auf ein gerades Verhältnis beim wählen der Größe.

da tut sich noch was

Freitag, 20. Februar 2009 von mabox
So, endlich mal wieder eine Meldung meinerseits.

Hab jetzt das einlesen des Hauptbilds ein Wenig verbessert. Das Hauptbild wird nicht mehr verkleinert zum die Pixel auslesen sondern die Pixel werden jetzt alle ausgelesen, die Helligkeitswerte werden addiert und später durch die breite*hoehe der kleinen Bilder geteilt. Dadurch wird das Bild weicher und sieht schöner aus. hier ein Beispiel....
user posted image
Leider kam durch diese Veränderung aber wieder ein Bug dazu, den ich noch finden muss und zwar klappt das Auslesen der Pixel jetzt nur noch, wenn die Auflösung des Fensters so groß ist wie die des Bildes.

Anzahl Bugs = 0

Montag, 5. Januar 2009 von mabox
So endlich alle Bugs entfernt. Die erstellten Bilder können sich sehen lassen. Für den Eigengebrauch alles schön und gut.
Aber damit auch andere was davon habe soll jetzt noch eine Benutzeroberfläche her, damit die Bedienung einfacher ist und nicht alles eingegeben werden muss.
An Futures und Einstellungsmöglichgkeiten ist bis jetzt geplant:
- zu verarbeitendes Bild und zu durchsuchender Ordner können ins Fenster gezogen werden (Drag n' Drop).
- Einstellungsmöglichkeit ob Unterordner auch nach Bildern durchsucht werden sollen.
- Einstellbare Größe des Originalbilds
- Anzahl der kleinen Bilder horizontal (vertikale Anzahl wird automatisch ermittelt)
- Seitenverhältnis der kleinen Bilder
- TFormfilter An/Aus

speeeed

Freitag, 2. Januar 2009 von mabox
So nun läuft das Bilder laden und einzeichnen mehr als doppelt so schnell in Gegensatz zu vorher. Dank Xeres, welcher mir dazu einen guten Teil Code geliefert hat, so dass ich ihn nur noch einbauen musste.

EDIT: Bild entfernt

fürs Auge

Donnerstag, 1. Januar 2009 von mabox
so, hier nochmal ein erstelltes Bild. Am besten siehts aus wenn man es aus einiger Entferung betrachtet.
user posted image

weiter gehts!

Donnerstag, 1. Januar 2009 von mabox
so, diesmal ists wirklich schon sehr lange her....aber es geht tatsächlich weiter.

In dem Programm gibt es, wie schon vorher beschrieben eine Funktion, welche vergleicht, ob die Helligkeit eines Pixels im Originalbild mit der Helligkeit von einem der kleinen Bilder übereinstimmt. Diese Funktion war bis jetzt sehr schlecht programmiert, da sie die Helligkeitswerte der Pixel um 1 erhöhte/erniedrigte bis ein Bild mit übereinstimmender Helligkeit gefunden wurde. Dabei wurden alle Bilder mehrmals überprüft, was einen großen Zeitaufwand bedeutete.
Jetzt wird die Pixelhelligkeit mit der Bildhelligkeit durch eine Differenz verglichen. Das Bild bei dem die Differenz zum Pixelwert des Originalbilds am kleinsten ist wird dann anstelle dieses Pixels eingezeichnet.
Dabei muss jedes Bild nur einmal überprüft werden. Dadurch lässt sich enorm Zeit sparen.

So, ich hoffe das war einigermaßen verständlich erklärt....(wenigstens für leute, die die vorigen Einträge dieses Worklogs gelesen haben.)

Vielleicht erklärt code besser als ich Very Happy
alter Code: [AUSKLAPPEN]
Function vergleich()
   Dim bild_pos$(anz_bilder_horiz+1,anz_bilder_vert+1)
   For info.pixel = Each pixel;von jeder Pixelhelligkeit wird ausgegangen, dieser Wert erhöht/erniedrigt bis ein Bild mit gleicher Heligkeit gefunden ist
      vergleichs_zahl(1) = info\pix_helligkeit
      vergleichs_zahl(0) = info\pix_helligkeit
      jupi = 0
      While Not jupi = 1
         For LOL.bild_informationen = Each bild_informationen
            For a = 0 To 1
               If LOL\img_helligkeit = vergleichs_zahl(a) Then
                  bild_pos$(info\pix_pos_x,info\pix_pos_y) = LOL\Pfad$
                  ;wenn bild daneben oder darüber nicht das gleiche ist Bild laden
                  If bild_pos$(info\pix_pos_x,info\pix_pos_y-1) <> bild_pos$(info\pix_pos_x,info\pix_pos_y) And bild_pos$(info\pix_pos_x-1,info\pix_pos_y) <> bild_pos$(info\pix_pos_x,info\pix_pos_y) Then
                     bild_laden(LOL\Pfad$,info\pix_pos_x,info\pix_pos_y)
                     jupi = 1
                  EndIf
               EndIf
            Next
         Next
         vergleichs_zahl(1) = vergleichs_zahl(1) + 1
         vergleichs_zahl(0) = vergleichs_zahl(0) - 1
      Wend
      Cls
      done = done + 1
      
      DrawImage neues_HauptBild,0,0
      AppTitle done+" von "+((anz_bilder_horiz+1)*(anz_bilder_vert+1))+" bildern ("+(done*100)/((anz_bilder_horiz+1)*(anz_bilder_vert+1))+"%)"
      Flip
   Next
End Function


neuer Code: [AUSKLAPPEN]
Function vergleich()
   Dim bild_pos$(anz_bilder_horiz+1,anz_bilder_vert+1)
   For info.pixel = Each pixel
      jupi = 0
      While Not jupi = 1
         differenz = 256
         For LOL.bild_informationen = Each bild_informationen
            ;nach kleinerer Differenz überprüfen
            If Abs (LOL\img_helligkeit - info\pix_helligkeit) < differenz Then
               bild_pos$(info\pix_pos_x,info\pix_pos_y) = LOL\Pfad$ ; Bild Position checken
               If bild_pos$(info\pix_pos_x,info\pix_pos_y-1) <> bild_pos$(info\pix_pos_x,info\pix_pos_y) And bild_pos$(info\pix_pos_x-1,info\pix_pos_y) <> bild_pos$(info\pix_pos_x,info\pix_pos_y) Then;Position auf oben und links überprüfen
                  differenz = Abs (LOL\img_helligkeit - info\pix_helligkeit)
                  path$ = LOL\Pfad$
                  xxx = info\pix_pos_x
                  yyy = info\pix_pos_y
               EndIf
            EndIf
         Next
         bild_laden(path$,xxx,yyy)
         jupi = 1
      Wend      
      Cls
      done = done + 1
      DrawImage neues_HauptBild,0,0
      AppTitle done+" von "+((anz_bilder_horiz+1)*(anz_bilder_vert+1))+" bildern ("+(done*100)/((anz_bilder_horiz+1)*(anz_bilder_vert+1))+"%)"
      Flip
   Next
End Function

big bug

Dienstag, 28. Oktober 2008 von mabox
lange nichts gehört?....lag daran, dass ich auf einmal merkte, dass irgendwo im Programm ein großer Fehler ist:user posted image
bei diesem Bild trat der Fehler zm ersten mal auf. leider raubte er mir erstmal völlig die Motivation ihn zu suchen und auszubessern. Ich hoffe, dass ich jetzt in den Ferien mal genug Zeit finde um mich dranzusetzen.

before - after

Sonntag, 5. Oktober 2008 von mabox
Hier mal ein aktuelles vorher - nachher bild:user posted image

bilder nichtmehr nebeneinander

Freitag, 3. Oktober 2008 von mabox
puh, endlich geschafft, dass keine gleichen Bilder mehr nebeneinander sind.
Ich hatte Probleme damit weil immer verglichen wird ob das aktuelle Bild den gleichen Pfad hat wie das links davon und das drüber. Beim ersten bild (also Bild 0,0) konnte man aber nicht überprüfen ob es den gleichen Pfad hat weil es nict existierte. Ich musste dann oben und links noch ein (nicht vorhandenes Bild) dranhängen damit die vergleiche funktioniert haben.
Außerdem gibts jetzt ne Prozentanzeige die anzeigt zu wieviel Prozent die Bilder sortiert und eingezeichnet wurden.

Vergleichfunktion

Sonntag, 28. September 2008 von mabox
So jetzt hab ich mal angefangen mit der Vergleichfunktion der Helligkeitswerte. Zwar noch lange nicht fertig aber ein kleines Ergebnis ist schon zusehen:
user posted image

Leider ist mir aufgefallen, dass das alles ziemlich langsam ist. Und nach ein wenig überlegen bin ich auch drauf gekommen. die Bilder die mehrfach zusehen sind werden jedes mal neu geladen. Da muss ich mir noch was schlaues ausdenken damit die Bilder erst nach dem Vergleich geladen werden und dann an alle stellen an die sie müssen eingezeichnet werden.

Gehe zu Seite 1, 2  Weiter