Ir al contenido principal

Entradas

Crear una aplicación de dibujo basada en reconocimiento de manos

 Bienvenidos. En este informe explico algo sobre el video que hice acerca de cómo crear una aplicación de dibujo básica con TensorFlow.js, MediaPipe modelo de reconocimiento de manos y mi librería de WebComponents para simplificar el reconocimiento de objetos y acciones en consecuencia. El video es el siguiente. Primero creamos un proyecto web, simple, un documento HTML. Incorporamos en un Script la librería https://gorosito.red/componentes/ Insertamos el webComponent de etiqueta reconocer-manos. Agregamos dos atributos: DER="" e IZQ="", y cada uno apunta al nombre de una función que crearemos en un Script aparte. Cada función se dedica a reconocer puntos clave de la mano izquierda y de la derecha de la primera persona reconocida. Bueno, simplifiqué a la herramienta para que fuera una sola persona. Como función de tipo "callback" que son, se les pasa como parámetro un objeto, el mismo generado por TFjs, con tres factores: handedness (tipo de mano, string,
Entradas recientes

Inteligencia Artificial personalizable (visión por computadora) con Teachable Machine

¡Hola! Vamos a aprender a reconocer objetos, colores o personas con Teachable Machine, y luego implementaremos una aplicación para activar algo con poco código. Breve intro Hasta noviembre de 2022, TensorFlow.js era la herramienta más destacada en la web para trabajar con Inteligencia Artificial. Sin embargo, ChatGPT y los Transformers llegaron para quedarse. Meses antes, Google Creative Labs lanzó Teachable Machine, una herramienta que permite entrenar una red neuronal utilizando la cámara web o el micrófono, y generar el código HTML para incluirlo en nuestra propia página web con ayuda de TensorFlow.js. Al mismo tiempo, yo aprendía a trabajar los Custom WebComponents, una API de HTML5 para generar con código HTML objetos de JavaScript. Y en esta semana, retomando un poco la librería que estoy construyendo, agregué el caso de Teachable-Machine. Veamos cómo trabajar con TM y cómo utilizarla a favor. A continuación: Videos sobre cómo utilizar Teachable Machine. Instalar librería de webC

Crear un rompecabezas con Dragula.js

 Instalamos la librería de componentes: <script src="https://gorosito.red/componentes"></script> En el BODY agregamos un objeto de etiqueta para-arrastrar. Esto instalará automáticamente la librería Dragula.js de Bevacqua. Lo identificamos como idArrastra. Adentro agregamos un DIVisor. Lo identificamos. Por ejemplo, como idNumeros. <para-arrastrar eventos="fnEvento" id="idArrastra" >     <div id="idNumeros"></div> </para-arrastrar> En el atributo eventos del objeto para-arrastrar ejecutará la función que le demos como valor cuando en Dragula.js soltamos un objeto arrastrable. Pero lo analizaremos más adelante. Ahora, agregamos un SCRIPT. Este SCRIPT va a popular o poblar el DIVisor dentro del arrastrador. Agreguemos 9 ARTICLEs, como para lograr un rompecabezas de 9 piezas.     [1,2,3,4,5,6,7,8,9]         .sort( (a,b)=>Math.random()-0.5 )         .forEach(             function( $cadaNumero ) {                

Abrir imágenes de un archivo de Word con JSZip o PizZip

Dado a que un archivo .docx es en realidad un archivo ZIP compimido con todos los recursos del documento de Word, podemos descomprimir dicho archivo y extraer las imágenes. En nuestra página web deberemos de disponer un objeto de imagen pero sin SRC: <img id="idImagen" width="100%" /> Luego decidimos si damos la opción de descargar un archivo que se encuentre en un servidor, mediante la función fetch() de JavaScript, o mediante cargar desde un INPUT de tipo FILE. Para cualquiera de los dos casos, ejecutaremos una función fnLeerDocx() a la cual le pasaremos: a) El INPUT o el Blob generado por el Fetch, y b) Una función para cuando termine de procesarse el contenido binario generado por el archivo. Para el caso del INPUT deberemos agregar: a) <input type="file" id="idArchivoSubir" /><button id="idProcesar">Procesar</button> Para el caso del Fetch tengamos a mano un INPUT para anotar la dirección y un botón para pro

Tu propio EndPoint PHP para consultar con GPT-3

Lo primero que debés conocer es tu clave API que te otorga OpenAI como desarrollador. Cuidado, como medida de seguridad, que cuando lo solicitás te la da por única vez. Copiala y conservala, porque nunca más te la va a dejar verla. Grabala en un archivo en tu servidor; aunque si estás en uno PHP, grabala mejor así: <?php return "sk-........" ; ?> Donde los puntos suspensivos serán colocados los caracteres de la Clave para la API. El return convierte a este archivo PHP en un módulo como lo hace JavaScript con Export. Y luego lo recuperamos mediante la instrucción INCLUDE de PHP. La siguiente función se comunica mediante CURL instalado en tu servidor enviando un mensaje por método POST hacia la API RestFul de OpenAI, al endpoint Completions.     function preguntar( $mensaje, $temperatura=0.5 ) {         $objcurl = curl_init();         $acaVaLaApiKey = include "api.php" ;         curl_setopt_array($objcurl, array(           CURLOPT_URL => "https://api.ope

Probando ChatGPT - Mapa conceptual con Mermaid

 Había conversado con ChatGPT acerca de cuidado de las plantas e hidroponía. Luego de unos días me di cuenta que quizás también podría saber acerca de crear Mapas conceptuales. Salió lo siguiente; le falta un concepto para crear correctamente mapas conceptuales (la relación entre los conceptos), pero podría ser algo para ayudarnos a corregir mejor. El texto original era el que cito a continuación, pero le agregué explícitamente que me armara un "mapa conceptual" utilizando el lenguaje Mermaid, un lenguaje descriptivo que permite construir gráficos diversos, entre ellos Mapas conceptuales, generando un archivo SVG. ``` Hacé un mapa conceptual en lenguaje Mermaid con el siguiente texto, redactado anteriormente: "La hidroponía es un método de cultivo que se utiliza para cultivar plantas sin suelo utilizando una solución nutriente y agua. Algunas plantas pueden cultivarse con éxito mediante hidroponía, mientras que otras necesitan el suelo para crecer y prosperar. De las pl