AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pixels und scanline

Ein Thema von Ak47 · begonnen am 20. Apr 2017 · letzter Beitrag vom 22. Apr 2017
Antwort Antwort
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.079 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Pixels und scanline

  Alt 21. Apr 2017, 16:16
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?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Pixels und scanline

  Alt 21. Apr 2017, 16:19
Hallo,

Zitat:
bevor du einzelne Pixel /Farben massierst
So eine Massage ist nicht schlecht
Heiko
  Mit Zitat antworten Zitat
BrightAngel

Registriert seit: 13. Mär 2007
130 Beiträge
 
#3

AW: Pixels und scanline

  Alt 21. Apr 2017, 23:01
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...

Hallo,

Zitat:
bevor du einzelne Pixel /Farben massierst
So eine Massage ist nicht schlecht
Haha Das stimmt. Bis dahin wusste ich ja aber auch noch nicht, dass er sie nur voyeuristisch betrachten und vermessen wollte
(...oder wie weiß sie sind )

Brighty
Do you have the email of god??? --- I have to tell him that I'm happy to be born!

Geändert von BrightAngel (21. Apr 2017 um 23:28 Uhr)
  Mit Zitat antworten Zitat
Ak47

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

AW: Pixels und scanline

  Alt 22. Apr 2017, 01: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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.534 Beiträge
 
Delphi 12 Athens
 
#5

AW: Pixels und scanline

  Alt 22. Apr 2017, 07:13
Delphi-Quellcode:
var C: TColor; x, Y: Integer;

C := FarbCodeZuTColor('');
for X := 0 to Bild.Width-1 do
  for Y := 0 to Bild.Heigt-1 do
    if Bild.Canvas.Pixels[x, y] = C then
      Machwas;
Und wenn das zu langsam ist, dann kann man mit ScanLine anfangen und damit "schneller" auf "alle" Pixel einer Zeile im Bild zugreifen.
Diese Daten stehen dann da aber auch im Format von Delphi-Referenz durchsuchenTBitmap.PixelFormat und man muß das Bild entweder vorher in ein passendes Format umwandeln, bzw. wirft einen Fehler wenn ein falsches Format vorliegt oder rechnet das TColor entsprechend um.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (22. Apr 2017 um 07:17 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz