Anaglyphbilder auf der Festplatte finden

Du hast eine Idee für ein Projekt?
Benutzeravatar
Okzident
User
Beiträge: 11
Registriert: Dienstag 31. Mai 2011, 09:25

BlackJack hat geschrieben:@Okzident: Wenn Du nicht beschreibst worum es geht
Ich habe beschrieben, worum es geht. Deine Vorschläge sind implementiert. Ich kann schlicht vorlaute Kinder wie Hyperion nicht tolerieren.
Das Problem wird durch die Programmänderungen von Hyperion nicht komplizierter.
Das Problem wird durch die Programmverzierungen von Hyperion komplizierter.
Wow, durch diese Antwort ist mein Anreiz zu helfen
Bei dir stört mich das nicht.
Etwas Großes zum ersten Mal zu erleben ist unbezahlbar.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Okzident hat geschrieben:
Das Problem wird durch die Programmänderungen von Hyperion nicht komplizierter.
Das Problem wird durch die Programmverzierungen von Hyperion komplizierter.
Na das musst Du uns aber mal erklären! Im Gegensatz zu Deiner Version habe ich lediglich diesen Pfad entschärft "C:\Dokumente und Einstellungen\Nutzer\Desktop", damit es jeder Benutzer hier im Forum einfach bei sich testen kann. Ok, ich habe einige Namen auf Englisch umgestellt, das ganze von Modulebene in eine Funktion verlagert und die `imports` PEP8 konform organisiert. Was macht das komplizierter? *wunder*
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
Okzident
User
Beiträge: 11
Registriert: Dienstag 31. Mai 2011, 09:25

Hyperion hat geschrieben:Na das musst Du mir aber mal erklären!
Ich muß dir gar nichts erklären.
Etwas Großes zum ersten Mal zu erleben ist unbezahlbar.
BlackJack

@Okzident: Wenn die Vorschläge implementiert sind, wo ist dann das Problem? Dann funktioniert ja jetzt alles.

Das Problem ändert sich durch Programmänderungen nicht. Es kann sein dass man neue Erkenntnisse gewinnt und man dadurch zu dem Schluss kommt, dass das Problem komplizierter oder einfacher lösbar ist als ursprünglich angenommen, aber das Problem selbst ist immer noch genau das selbe.

Wenn Du nur die Implementierung ohne weitere Erklärung zeigst, dann sieht man nur *was* Du gemacht hast, aber man weiss nicht *warum* Du das so gemacht hast. Ich sehe die Vorschläge durch den Quelltext zum Beispiel nicht implementiert. Es wird weder eine Verschiebung berücksichtigt, noch sehe ich wie ich das Ergebnis als Ähnlichkeit deuten sollte.

Du musst hier keinem was erklären — stimmt. Es muss sich aber auch niemand mit Deinen Problemen befassen.
Benutzeravatar
Okzident
User
Beiträge: 11
Registriert: Dienstag 31. Mai 2011, 09:25

BlackJack hat geschrieben:@Okzident: Wenn die Vorschläge implementiert sind, wo ist dann das Problem?
Nach diff = ImageChops.difference(teil2, teil1) habe ich in diff ein Bild, das den Unterschied zwischen rot und blau als Graustufenbild darstellt. Ich sehe aber kein deutliches Merkmal, das hilft zu unterscheiden ob es nun ein Anaglyphenbild ist oder nicht.
diff = ImageChops.difference(im, teil1) bringt auch kein deutlicheres Ergebnis.

Wie willst du den Unterschied zwischen zwei Bildern(teil1 & teil2) berechnen und ein Ergebnis haben? Letztlich ist - um die Verschiebung zu erkennen - ein Justierungsalgorithmus wie etwa bei autopano nötig, was meinst du?
Etwas Großes zum ersten Mal zu erleben ist unbezahlbar.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Okzident hat geschrieben:
Hyperion hat geschrieben:Na das musst Du mir aber mal erklären!
Ich muß dir gar nichts erklären.
Sicher. Aber es ist sicher nicht die feine Art, Behauptungen aufzustellen, die Du nicht belegen kannst. Deine despektierlichen Äußerungen bin ich zwar übergangen, aber fachlich sind das faktisch eben keine "Verzierungen", sondern sinnvolle Änderungen. Dein Script konnte hier niemand ohne Anpassungen ausführen, um zu testen, was überhaupt dabei bisher rauskommt. Insofern hättest Du mir dankbar dafür sein sollen, da so nun potenziell mehr Leute Zugang zu Deinem Problem finden können, als bisher - auch wenn ich das eigentliche Problem damit nicht weitergebracht habe.

Natürlich kann man an so wenigen Zeilen schon erkennen, was Du da tust. Dennoch halte ich es für angebracht, eine informale prosaische Erklärung dazu abzugeben, damit genau die Fragen, die BlackJack aufgeworfen hatte, auch angesprochen sind. Letztlich bist Du ja nun - nach gefühlten 10 Metaposts - endlich mal auf die Verschiebungsproblematik zu sprechen gekommen. Das hättest Du schon viel eher tun können.

Dass Du durch solche Anfeindungen und Beleidigungen neben mir auch andere Forenmitglieder demotivierst, Dir bei Deiner Lösung zu helfen kommt nun noch oben drauf.

Ich hoffe Du erkennst zumindest im Nachhinein, dass Du bei der Lösung eines Problems mehr an Beschreibung investieren musst, Gegenfragen beantworten und einen angebrachten Tonfall anwenden solltest. Hier gibt es nämlich durchaus kompetente Leute, die sich auch gerne mal in die Probleme anderer reinfuchsen, selbst wenn sie aus einem Themengebiet entstammen, das nicht alltäglich für sie ist. Deren Hilfe auszuschlagen ist im Grunde genommen kontra produktiv ;-)

So, ich denke wir können diese Metadiskussion nun beenden oder ansonsten privat weiterführen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
BlackJack

@Okzident: Ähnlichkeit kann man zum Beispiel ganz gut in Prozent ausdrücken. Also wie wahrscheinlich handelt es sich bei zwei Bildern um leicht versetzte Ansichten des selben Motivs. Für Ähnlichkeitssuche bei Bildern gibt es verschiedene Algorithmen die alle nicht ganz trivial sind, aber wo es sicher die eine oder andere Bibliothek gibt, die man dafür verwenden kann.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Eine geometrische Transformation von einem Bild in ein anderes zu finden hört sich für mich schon sehr nach einem Standardproblem an, besonders da der Suchraum so klein ist. OpenCV bietet da sicher etwas. Ansonsten würde ich darauf tippen, dass ein Matching der durchschnittlichen Zeilenhelligkeiten, zeilenweiser Histogramme oder einfach eine Untermenge der Zeilen, zum Ziel führt.
Das Leben ist wie ein Tennisball.
deets

OpenCV bietet AFAIK Stereokamera-Verarbeitung. Wenn man die auf die beiden separierten Teilbilder anwendet, sollte ja eigentlich ein Tiefenbild rauskommen. Was man dann benutzt um wiederum *das* zu klassifiezieren - kA, muesst man mal schauen.

Ich wuerde glaube ich eher ueber histogramme geben, es wuerde mich doch wundern, wenn da nicht statistisch Haeufigkeiten um linke Farbe, rechte Farbe und die Mischfarbe zu detektieren sind.
Benutzeravatar
Okzident
User
Beiträge: 11
Registriert: Dienstag 31. Mai 2011, 09:25

deets hat geschrieben:Ich wuerde glaube ich eher ueber histogramme geben
Also:

Code: Alles auswählen

differenz = 0
for i in range(0, 255):
	differenz = abs(teil1.histogram()[i] - teil2.histogram()[i]) + differenz
differenz = differenz / 256
print '%s,%s' % (differenz,infile)
Gibt aber immer noch keine klare Unterscheidung.
Etwas Großes zum ersten Mal zu erleben ist unbezahlbar.
Antworten