Einzelnen Beitrag anzeigen

Ak47

Registriert seit: 20. Apr 2017
4 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Pixels und scanline

  Alt 22. Apr 2017, 02:41
wenn es nicht zuviel verlangt ist könntest du mir eventuell ein beispiel-code geben(aus dem bild im anhang den weien punkt)?
Anhang 47175
Du möchtest wissen, an welcher Pixelposition der weiße Punkt in X und Y liegt?
genau

Du möchtest wissen, an welcher Pixelposition der weiße Punkt in X und Y liegt?
Ich vermute es. Allerdings finde ich komisch, dass da noch so viel grün in dem schwarz gesetzt ist. Ich dachte anfangs eher, dass er ein beliebiges schwarzes Bild mit grünen (konvexen?) Flächen hat und darin den Schwerpunkt/Mittelpunkt/Zentrum finden will... (mal so geraten). Vermutlich hat er uns den weißen Punkt nur als Hilfestellung zum Verständnis gegeben.

Slightly Offtopic: Das ist dann ein ähnliches Problem, wie das "Marker" finden in Greenscreenaufnahmen (dabei wird versucht die Kameraposition und -winkel relativ zum Greenscreen zu bestimmen, um anschließend ein 3D Modell entsprechend an die Stelle des Greenscreens rendern zu können)

Ich tendiere leider dazu Problemstellungen zu genau anzuschauen. Deine Erklärung ist definitiv einfacher.

Vielleicht kannst du uns Ak47 noch kurz verraten wer von uns richtig liegt? Kann es mehr als einen "weißen Punk" geben? Wie viele "weiße Punkte" kann es denn innerhalb eines Bildes geben? Falls ich richtig liege, fände ich noch ein paar Infos hilfreich: Willst du den Schwerpunkt oder den Mittelpunkt der grünen Fläche? Sind die grünen Flächen immer konvex oder kann es auch (teil-)konkave Regionen (mit eventuellen Einschlüssen?) geben?
(also konvex ist, wenn du am Rand zwischen grün und schwarz mit dem Auto entlang fährst und immer nur nach rechts oder geradeaus oder nur nach links oder geradeaus lenken würdest; niemals darf das Lenkrad in die andere Richtung umschwenken, sonst ist es nicht mehr konvex...)
(Einschlüsse meine ich: kann es zum Beispiel einen Doughnut geben, der in der Mitte wieder ein "schwarzes Loch" hat?)

Ich habe noch in der Scanlinedoku von Embarcadero ein kleines Beispiel entdeckt, das die Scanline einfach benutzt, um ein Bild auf die doppelte Breite und Höhe "aufzublasen", indem es ein einzelnes Pixel auf vier Pixel klont (das passiert immer an den "...:= P[x];" Stellen). Falls du schonmal experimentieren möchtest. Über den verlinkten Code kann man definitiv diskutieren, aber auf jeden Fall übst du so als Anfänger auch fremden Code zu lesen...
diesen grünen "fleck" hab ich nur gemacht damit ihr den weißen punkt im blickfeld habt






ich brauch es ungefähr so:

Code:

     s := edit.Text;
    i := pos('#farbcode',bild);
    s1 := copy (s,i,56545446);
    edit.Text := (s1);
//ich weiß das es falsch ist:oops:
Stefan
  Mit Zitat antworten Zitat