{"id":407,"date":"2012-04-17T16:08:43","date_gmt":"2012-04-17T16:08:43","guid":{"rendered":"http:\/\/www.dtic.upf.edu\/~jagenjo\/?p=407"},"modified":"2012-04-17T16:08:43","modified_gmt":"2012-04-17T16:08:43","slug":"infografia-practica-1-sintesis-texturas","status":"publish","type":"post","link":"https:\/\/tamats.com\/upf\/?p=407","title":{"rendered":"Infografia: Practica 1, Sintesis texturas"},"content":{"rendered":"<h3>Introducci\u00f3n<\/h3>\n<p>Esta pr\u00e1ctica consiste en la implementaci\u00f3n de un algoritmo de sistesis de texturas.<\/p>\n<blockquote><p>A.A. Efros and T.K. Leung <a href=\"http:\/\/graphics.cs.cmu.edu\/people\/efros\/research\/EfrosLeung.html\" target=\"_blank\">Texture Synthesis by Non-parametric Sampling<\/a><\/p><\/blockquote>\n<p>El algoritmo permite rellenar regiones de la imagen de las que no tenemos informaci\u00f3n.<\/p>\n<h3>Material<\/h3>\n<ul>\n<li><a href=\"http:\/\/www.dtic.upf.edu\/~jagenjo\/uploads\/efros-iccv99.pdf\">Paper sobre sintesis de texturas<\/a><\/li>\n<\/li>\n<li><a href=\"uploads\/morphing.tar\">Framework de la pr\u00e1ctica<\/a><\/li>\n<li><a href=\"uploads\/infografia_test_images.zip\">Imagenes para juegos de prueba<\/a><\/li>\n<li><a href=\"http:\/\/demonstrations.wolfram.com\/ImageInpainting\/\">Ejemplo web de Inpainting<\/a><\/li>\n<\/ul>\n<h3>Desarrollo<\/h3>\n<p>Teneis que utilizar la libreria ImageMagick++ para esta practica, esta libreria os permitir\u00e1 cargar imagenes, leer su contenido y guardarlas en disco. Para ello teneis que instalarla desde el repositorio de aplicaciones, en la categoria Grafics.<\/p>\n<p>Teneis que usar GCC, si veis que no lo teneis instalado, escribid el siguiente comando desde vuestro terminal:<\/p>\n<blockquote><p><strong>upf-software-install-grafic gcc<\/strong><\/p>\n<p><strong>upf-software-install-grafic gcc-c++<\/strong><\/p><\/blockquote>\n<p>Una vez instalada descomprimid el framework (untar morphing.tar) y dentro encontrareis el codigo a utilizar, se crear\u00e1 un directorio morphing con subdirectorios morphing\/inc, morphing\/src, morphing\/obj y morphing\/bin<\/p>\n<p>Ahora podemos compilar el c\u00f3digo ejemplo:<\/p>\n<blockquote><p>cd morphing\/src<\/p>\n<p>make -k prueba<\/p>\n<p>cd ..<\/p><\/blockquote>\n<p>Se habr\u00e1 creado un binario llamado prueba. Para ejecutarlo (situados en morphing\/):<\/p>\n<blockquote><p>.\/obj\/prueba AT_poster.png basura lista.txt 0.5 100<\/p><\/blockquote>\n<p>Las im\u00e1genes las pod\u00e9is ver con el comando display:<\/p>\n<blockquote><p>display basura100.tif<\/p><\/blockquote>\n<h3>Experimentos<\/h3>\n<p>Probar con diferentes tipos de im\u00e1genes y con varios juegos de par\u00e1metros, buscando evaluar la eficacia y los problemas del algoritmo.<\/p>\n<h3>Entrega<\/h3>\n<p>Mirar en moodle.<\/p>\n<p><strong>Se entrega desde el Aula Global<\/strong><\/p>\n<p>Qu\u00e9 se entrega:<\/p>\n<ul>\n<li>Informe: introducci\u00f3n, el algoritmo, explicaci\u00f3n del c\u00f3digo, experimentos, conclusiones. En formatos html, ps, pdf o rtf.<\/li>\n<li>C\u00f3digo C++, comentado, listo para compilar (con su Makefile). Formato: ASCII.<\/li>\n<li>Las im\u00e1genes (cualquier formato) y par\u00e1metros (ascii) usados en los experimentos.<\/li>\n<li>Se deben poder reproducir los experimentos con todos los materiales entregados, en cualquier PC de aulas, en Linux.<\/li>\n<li>En caso de copia (entre equipos, o de otras fuentes) todos los integrantes de los equipos involucrados suspender\u00e1n inmediatamente la asignatura, y el Departament abrir\u00e1 un expediente solicitando la expulsi\u00f3n temporal de dichos estudiantes.<\/li>\n<\/ul>\n<h3>Defensa<\/h3>\n<p>Duraci\u00f3n: 10 minutos por equipo, con preguntas individuales. Todos los integrantes deben estar plenamente familiarizados con el trabajo de su equipo. Esta clase es de asistencia obligatoria. <strong>No hay que traer Slides, ser\u00e1 una presentaci\u00f3n oral delante del c\u00f3digo.<\/strong><\/p>\n<p><a href=\"http:\/\/www.dtic.upf.edu\/~jagenjo\/uploads\/info2012_pruebas.zip\">Juego de pruebas para defensa.<\/a>.<\/p>\n<h3>Consejos<\/h3>\n<ul>\n<li>Leer el art\u00edculo con atenci\u00f3n.<\/li>\n<li>Volver a leer el art\u00edculo con atenci\u00f3n.<\/li>\n<li>Invertir un buen tiempo en planear el c\u00f3digo, no ponerse a programar directamente.<\/li>\n<li>Hacer c\u00f3digo modular: desglosar la tarea global en partes, hacer funciones para estas partes, llamar a las funciones desde un programa principal corto.<\/li>\n<li>Estudiar el programa C++ de ejemplo, ver qu\u00e9 operaciones con im\u00e1genes hay definidas y c\u00f3mo se acceden y modifican los valores de los pixels.<\/li>\n<li>Mientras se escribe el c\u00f3digo, y para hacer &#8216;debugging&#8217;, hacer pruebas con im\u00e1genes peque\u00f1as y sencillas.<\/li>\n<li>Probar primero con im\u00e1genes en escala de grises.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n Esta pr\u00e1ctica consiste en la implementaci\u00f3n de un algoritmo de sistesis de texturas. A.A. Efros and T.K. Leung Texture Synthesis by Non-parametric Sampling El algoritmo permite rellenar regiones de la imagen de las que no tenemos informaci\u00f3n. Material Paper sobre sintesis de texturas Framework de la pr\u00e1ctica Imagenes para juegos de prueba Ejemplo web [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts\/407"}],"collection":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=407"}],"version-history":[{"count":0,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=\/wp\/v2\/posts\/407\/revisions"}],"wp:attachment":[{"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tamats.com\/upf\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}