Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #15  
Antiguo 21-09-2008
erikmx erikmx is offline
Miembro
 
Registrado: nov 2007
Posts: 40
Poder: 0
erikmx Va por buen camino
:)

Gracias Neftali por tu valiosa ayuda, y perdon por la tardanza en contestar, estoy buscando los materiales (tela) que funcionen mejor para la cuestion de que detecte bien los colores hice una pequeña prueba pero con la webcam de la compu sobre una pequeña bandera hecha de plastico (bolsa negra) pero no me funciono claro que la luz era de foco y lo ideal es que sea con luz solar para que la imagen salga con mejor calidad, y creo sera mejor tela para que no cree "reflejos" sobre la superficie de la bandera.

Por otro lado detecta muy bien ahora con los cambios los contornos independientemente de los colores que tenga la bandera claro una vez seleccionado el color de la misma, solo el detalle de los angulos que cheque, parece que no detecta correctamente los mismos:


Código Delphi [-]
  // LINEAS DETECTADAS
  imgBandera2.Canvas.Pen.Width := 3;
  imgBandera2.Canvas.Pen.Color := clRed;
  imgBandera2.Canvas.Brush.Color := clRed;

  imgBandera2.Canvas.MoveTo(x1b, y1b);
  imgBandera2.Canvas.LineTo(x2b, y2b);
  imgBandera2.Canvas.LineTo(x1ib, y1ib);
  imgBandera2.Canvas.LineTo(x1b, y1b);


  // LINEAS PARA ANGULOS
  imgBandera2.Canvas.Pen.Width := 5;
  imgBandera2.Canvas.Pen.Color := clBlue;
  imgBandera2.Canvas.Brush.Color := clBlue;

  imgBandera2.Canvas.MoveTo(x1ib, y1ib);
  imgBandera2.Canvas.LineTo(x2b, y2b);
  imgBandera2.Canvas.MoveTo(x1ib, y1ib);
  imgBandera2.Canvas.LineTo(x1ib, y2b);

  // si es 90 grados o casi no se ve bien, así que alargamos...
  if (Abs(y2b - y1ib) < 100) then begin
    imgBandera2.Canvas.MoveTo(x1ib, y1ib);
    imgBandera2.Canvas.LineTo(x1ib, y1ib + 100);
  end;


//Para Calcular el Angulo
    ang := ArcTan2(y2b,x1ib);    // "y" para la vertical "x" para la Horizontal
    angd := RadToDeg(ang);

    // Resultado
    Angulo.Text := IntToStr(Trunc(angd)) + '°';
    Velocidad.Text := IntToStr(Trunc(angd/4));

end;
Creo que el detalle esta en la orientacion, es decir en el punto que se concidera el grado 0° o tal ves me equivoco ya que para poder calcular con el metodo de la bandera utilizan este transportador como referencia





Por cierto Neftali muchas gracias por tu paciencia

Última edición por erikmx fecha: 21-09-2008 a las 01:41:05. Razón: Me desconfiguro el codigo delphi :(
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calcular la posicion del cursor sobre imagen adrian76 Gráficos 0 12-11-2007 10:15:35
Determina la amplitud de un ángulo dada su tangente. Roilo Varios 4 02-05-2007 17:54:49
Trazar un vector teniendo un determinado ángulo juanchi Gráficos 3 08-12-2006 23:21:02
Como trazar un arco Luli Gráficos 3 09-06-2005 00:59:06
Boton con imagen y texto en varias líneas Novás Varios 2 08-03-2004 13:12:22


La franja horaria es GMT +2. Ahora son las 15:11:45.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi