lunes, 4 de julio de 2011

Poemas y ... "Poemas"



Después de el tiempo que paso he vuelto con un nuevo concepto de ...POEMA.



Los griegos (griegos antiguos) grandes pensadores, matemáticos, filósofos usaban la palabra Poiema como "Creación", mientras que ahora Poema es una composición literaria y etc.



Apuesto por la definición griega para llevar este blog a otra etapa. Este blog se dedicara a mostrar creaciones de todo tipo ya sean mías o de otras personas de este mundo por lo que el titulo "Unos cuantos poemas" es valido como "Unas cuantas creaciones".



Estas creaciones o poemas serán del ámbito de arte y ciencia donde se encuentran todas las creaciones del ser humano, en realidad olvido las creaciones de la naturaleza, esta bien, también las incluiré.



Me despido hasta la próxima entrada que supongo sera alguna creación electrónica



saludos

1 comentario:

  1. aip3011@hotmail.com

    disculpa amigo, lo que pasa es que yo estoy haciendo la comunicacion por puerto serial con matlab hacia un pic 16f628a mi problema es que al abrirse el puerto serial el matlab se alenta (uso el programa de colores), si funciona todo muy bien, pero es infinitamente lento, no importe si muevo el tiempo de pausa, sigue trabandose, y cuando quito lo del puerto serial todo funciona perfecto, pero pues el chiste es hacerlo con el puerto serie, aqi te dejo como uso el puerto serial en tu programa de reconocimiento de colores, haber si puedes ayudarme, muchisimas gracias,


    vid=videoinput('winvideo',1,'yuy2_640x480');
    set(vid, 'FramesPerTrigger', Inf);
    set(vid, 'ReturnedColorspace', 'rgb')
    vid.FrameGrabInterval =5;
    %framegrabinterval significa que tomara cada 5 frame del stream de video adquirida
    %con start(vid) se activa la adquisicion
    start(vid)

    % creamos un bucle que puede ser while
    %despues de ... frames adquiridos se sale del bucle

    while(vid.FramesAcquired<=300)
    % se toma una snapshot del stream y se la almacena en data

    data = getsnapshot(vid);

    % tenemos que extraer el color rojo
    % de la imagen en escala de grises de la imagen adquirida en data
    diff_im = imsubtract(data(:,:,1), rgb2gray(data));
    %imsubstract sirve para sacar algun valor constante de una imagen,
    %se usa medfilt2 para filtrar la senial del ruido
    diff_im = medfilt2(diff_im, [3 3]);
    % Convertir la imagen en escala de grises a una imagen binaria.
    diff_im = im2bw(diff_im,.15);

    % para determinar el tamanio a reconocer se usa bwareopen para descartar
    %imagen de rojo de menos de ... pixels
    diff_im = bwareaopen(diff_im,600);

    % Etiquetamos los elementos conectados en la imagen
    bw = bwlabel(diff_im, 8);
    % configuramos la region etiquetada
    stats = regionprops(bw, 'BoundingBox', 'Centroid');

    % mostramos la imagen
    imshow(data)
    hold on

    %este es un bucle para encerrar el objeto rojo en un rectangulo y una cruz en el
    %centroide( programacion basica de matlab)

    for object = 1:length(stats)
    bb = stats(object).BoundingBox;
    bc = stats(object).Centroid;
    rectangle('Position',bb,'EdgeColor','r','LineWidth',2)
    plot(bc(1),bc(2), '-m+')


    a=text(bc(1)+15,bc(2), strcat('X: ', num2str(round(bc(1))), ' Y: ', num2str(round(bc(2)))));
    set(a, 'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12, 'Color', 'yellow');




    %%AQUI ESTA LA TRANSIMICION DE DATOS,
    if bc(1)<340
    SerPIC = serial('COM5');
    set(SerPIC,'BaudRate',9600);
    set(SerPIC,'DataBits',8);
    set(SerPIC,'Parity','none');
    set(SerPIC,'StopBits',1);
    set(SerPIC,'FlowControl','none');
    fopen(SerPIC);
    fprintf(SerPIC,'%c',char(3));
    % pause(.1)
    fclose(SerPIC);
    delete(SerPIC)
    clear SerPIC

    end
    end

    hold off
    end

    stop(vid);
    %FLUSHDATA remueve la imagen del motor de adquisicion y la almacena en el buffer
    flushdata(vid);
    clear all;

    ResponderEliminar