AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Richtungs bzw. Vektorpfeil zeichnen

Richtungs bzw. Vektorpfeil zeichnen

Ein Thema von Cyberstorm · begonnen am 29. Jun 2007 · letzter Beitrag vom 29. Jan 2018
Antwort Antwort
Seite 2 von 2     12
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#11

Re: Richtungs bzw. Vektorpfeil zeichnen

  Alt 14. Aug 2007, 15:10
Zitat von 56K-Surfer:
Zitat von Cyberstorm:
...
Ich habe den Start- und Endpunkt und kann sozusagen die Grundlinie des Pfeils zeichnen:
...
Klingt sehr interessant, hab aber mal eine Frage:
Wie bekommst du denn bis dahin schonmal die position bzw richtungsvektoren aus dem Webcam-Bild?
indem ich die unterschiede vom letzten zum aktuellen frame analysiere, daraus werrechne ich jeweils einen durchschnittswert und komme im endeffekt auf zwei x/y positionen der druschnittlichen veränderung --> ein vektor

würde mich freuen, wenn jemand mit einer Webcam das tool mal testen könnte:

Hier kann es geladen werden

wichtig: wenn bei dem difference kram was schief geht, dann solltet ihr unter format settings mal andere kompressionen probieren.

mit einem klick auf "Difference" werden bewegungen visualisiert.
danach kann man auf Track klicken, dann kommt der erwähnte bewegungspfeil und eine box hinzu.

mit der Sound checkbox wird die bewegung mittels pc speake in töne umgewandelt.

gibt noch einige reglerund spielereien wie color mapping usw.
evtl. muss der maxdiff regler nach oben gestellt werden umdie schwelle vom bildrauschen oder anderen bewegungen zu filtern.

Auf Anfrage könnt ihr gerne auch codeschnipsel haben

Grüße
Konrad
  Mit Zitat antworten Zitat
hjm
Online

Registriert seit: 26. Mai 2007
15 Beiträge
 
RAD-Studio 2009 Pro
 
#12

Re: Richtungs bzw. Vektorpfeil zeichnen

  Alt 18. Okt 2007, 15:29
Hallo Konrad,

Dein Tool funktioniert bei mir leider nicht, es meckert immer das es keinen passenden Codec gibt.

So wie ich es verstehe, ist das so eine Art Motion Capturing.

Daran wäre ich auch interessiert, da ich sowas auch machen wollte.





Grüße
Hans-Josef
  Mit Zitat antworten Zitat
Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#13

Re: Ich dreh durch! wie kann das sein - Problem beim Runden.

  Alt 18. Okt 2007, 16:00
hallo hans-josef.

wenn du in meinem programm auf "format setting" klickst, welche auswahlmöglichkeiten hast du da bei dem mittleren reiter (pixel depth and compression) ?

da einfachmal alle durchprobieren und nach jedem wechsel programm neustarten!


habe gerade mal bei mir geschaut: wenn die cam schon verwendet wird, dann kommt diese fehlermeldung --> die webcam darf nicht geöffnet/von einem anderen programm bereits verwendet werden.


viele grüße
konrad
  Mit Zitat antworten Zitat
hjm
Online

Registriert seit: 26. Mai 2007
15 Beiträge
 
RAD-Studio 2009 Pro
 
#14

Re: Richtungs bzw. Vektorpfeil zeichnen

  Alt 18. Okt 2007, 17:24
Hallo Konrad,

danke für die schnelle Rückmeldung.

Hatte ich schon probiert, ohne Erfolg. (Werden die Einstellungen denn überhaupt gespeichert?)

Würde mir das gerne einmal ansehen, aber geht nicht.

Mit anderen Tools funktioniert die Camera, wobei das ist keine Camera sondern ein Video-Grabber,
sollte sich aber gleich verhalten.


Kannst Du mir einmal Deinen Code posten?

Grüße
Hans-Josef
  Mit Zitat antworten Zitat
olaf43

Registriert seit: 2. Dez 2010
9 Beiträge
 
#15

AW: Richtungs bzw. Vektorpfeil zeichnen

  Alt 29. Jan 2018, 09:39
Es geht auch ohne sinus, cosinus,..:
Procedure DrawArrow(
canvas:tCanvas; // canvas, auf dem gezeichnet werden soll
x1,y1, // Koordinaten des Startpunktes
x2,y2:integer; // Koordinaten des Endpunktes
w:integer=5; // Breite (+- der Pfeilspitze
l1:integer=20; // Länge der Pfeilspitze
L2:integer=15 // Länge der Pfeilspitze in der Mitte
);
var Len, lens,LenC:double;
dx,dy:double;
xs,ys,xc,yc:integer;
poly:array[0..4] of tPoint;

procedure setpoint(i:integer;x,y:integer);
begin
poly[i].X:=x;
poly[i].Y:=y;
end;

begin
Canvas.MoveTo(x1,y1);
canvas.LineTo(x2,y2);
len:=sqrt(sqr(x2-x1)+ sqr(y2-y1));
Lens:=len-L1;
Lenc:=len-L2;
dx:=(x2-x1)/Len;
dy:=(y2-y1)/len;
xs:=x1+round(dx*lens);
ys:=y1+round(dy*lens);
xc:=x1+round(dx*lenc);
yc:=y1+round(dy*lenc);
Setpoint(0,x2,y2);
Setpoint(1,round(xs-dy*w), round(ys+dx*w));
Setpoint(2,xc,yc);
Setpoint(3,round(xs+dy*w), round(ys-dx*w));
Setpoint(4,x2,y2);
canvas.Polygon(poly);
end;
Angehängte Dateien
Dateityp: pas DrawArrow.pas (1.006 Bytes, 4x aufgerufen)
Wichard
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.557 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: Richtungs bzw. Vektorpfeil zeichnen

  Alt 29. Jan 2018, 10:32
Auch beim Ausgraben von Leichen sollte man die Code-Tags verwenden.

Sherlock
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf