Autor |
Beitrag |
DeluXer
Hält's aus hier
Beiträge: 9
|
Verfasst: Do 22.03.07 19:11
Ich habe eine wahrscheinlich relativ banale Frage und muss auch zugeben, dass ich nicht allzuviel Erfahrung mit diesem Thema der Delphi Programmierung habe
Meine Frage:
Ich habe ein Bild von einer Webcam auf welchem fast nur 2 farben zu sehen sind. Weißer Hintergrund und ein Scharzes Objekt (natürlich partielle Abweichungen durch das Bild der Webcam). Wie kann Delphi jetzt die Schwarze Fläche erkennen und ihre Position bestimmen?
Danke für eure Hilfe schon im Vorraus
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Do 22.03.07 19:22
du meinst quasi so wie wenn ich bei photoshop ne farbauswahl mache, dann ne farbe klicke und ps mir die gesamte fläche als auswahl zurückgibt? hoffe du kennst ps..
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
Zuletzt bearbeitet von rizla am Do 22.03.07 19:29, insgesamt 2-mal bearbeitet
|
|
DeluXer 
Hält's aus hier
Beiträge: 9
|
Verfasst: Do 22.03.07 19:27
genau so..
nur noch zusätzlich, dass ich irgendwie die position dieser Farbe auf dem Bild rausbekommen müsste
|
|
Corpsman
      
Beiträge: 228
KUbuntu 10.4
Lazarus
|
Verfasst: Do 22.03.07 19:39
Ho,
Ist vielleicht Aufwendig aber geht.
Ich nehme an das deine Farbe eine Art zusammenhängende Fläche (etwa ein Kreis ist ).
Also gehst du her und gehst Pixelweise dein Bild Durch.
dann läst du dir zu jedem Pixel mittels getrValue, getBValue, GetGvalue die RGB werte geben und vergleichst sie mit einer gewissen Tolleranz mit den RGB werten deiner zielfarbe. bei dir also Schwarz => alle RGB werte dir < sagen wir 50 sind.
Von Diesen Pixeln Addierst du dann immer schön brav x und y in zwei variablen hoch. und in einer 3. zählst du die ANzahl der Pixel.
Am Schlus teilst du durch die Anzahl und müstest dann den Schwerpunkt deiner Fläche bekommen.
Ich hoffe das Reicht dir.
_________________ --
Just Try it.
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Do 22.03.07 19:45
ansonsten gibt es, wie mir gerade und vllt passend zum thema einfällt, eine komponente, die heißt glaub ich TSkinImage, und wenn du dir die mal anschaust, solltest du verstehen, wie man ne bestimmte "Region" zusammensetzt. Hab die Kompo nicht hier, aber wenn ich die finde, uppe ich die hier im Thread!
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
|
|
DeluXer 
Hält's aus hier
Beiträge: 9
|
Verfasst: Do 22.03.07 19:46
gut.. so hatte ich mir das eigentlich auch gedacht, nur scheitert es bei mir daran, dass ich nicht weiß wie ich Pixel einzeln checke..
wie gesagt, auf dem Fachgebiet habe ich noch gar keine Erfahrungen 
|
|
rizla
      
Beiträge: 417
Erhaltene Danke: 2
XP
FPC mit Lazarus
|
Verfasst: Do 22.03.07 19:56
such mal in der hilfe nach canvas.pixel, da ist ne erläuterung dazu..
_________________ if you have what they want - they'll find a way to take it (bruce sterling)
WOW - 10 JAHRE Mitglied beim Delphi-Forum. Wie die Zeit vergeht, Freunde.
|
|
ZeitGeist87
      
Beiträge: 1593
Erhaltene Danke: 20
Win95-Win10
Delphi 10 Seattle, Rad Studio 2007, Delphi 7 Prof., C++, WSH, Turbo Pascal, PHP, Delphi X2
|
Verfasst: Do 22.03.07 20:01
_________________ Wer Provokationen, Ironie, Sarkasmus oder Zynismus herauslesen kann soll sie ignorieren um den Inhalt meiner Beiträge ungetrübt erfassen zu können.
|
|
Fighter#1
      
Beiträge: 787
Win XP, Ubuntu 8.04
Turbo Delphi 2006, Delphi 2005 Pe, Delphi 5 Pe, Netbeans 6.1, Eclipse, Microsoft VisualC#, Dev C++, PHP, HTML, CSS
|
Verfasst: Do 22.03.07 20:10
Also, ich habe das Problem auch mit Scanline gelöst, ist eigentlich auch extrem easy zu machen (wenn mans denn kan  ) Naja mein Ergebnis war dies : www.delphi-forum.de/...69725&highlight=
Ich bin eigentlich recht zufrieden
_________________ Wer andere beherrscht ist stark,
wer sich selbst beherrscht ist mächtig. Lao Tse
|
|