Mostrando las entradas con la etiqueta dev. Mostrar todas las entradas
Mostrando las entradas con la etiqueta dev. Mostrar todas las entradas

20 may 2016

Configuración de OpenCV en Visual Studio Community 2015 - Windows 10/7/8.1: Segunda parte


El siguiente post corresponde a la segunda parte de: Configuración de OpenCV en Visual Studio Community 2015 - Windows 10/7/8.1.
Una vez que tenemos configurado OpenCV en nuestra computadora, es necesario realizar unos ajustes sencillos en Microsoft Visual Studio para que funcionen correctamente en dicha IDE.

1. Abrimos Visual Studio Community (VSC) y creamos un nuevo proyecto. En la ventana emergente debemos crear un proyecto nuevo en Visual C++, Win32 Console Application.



1.1. En la ventana siguiente damos clic izquierdo en Next.


1.2. En la ventana de Application Settings debemos palomear Empty project. Y damos clic en Finish.


2. Este paso es importante. Ahora, una vez creado el proyecto, debemos buscar la carpeta Source Files en la pestaña Solution Explorer, una vez localizada debemos dar clic derecho en dicha carpeta. Una vez desplegado el menú contextual debemos seleccionar Add, después New Item...


2.1. Una vez desplegada la ventana emergente debemos crear un archivo .cpp, en este caso yo dejo dicho archivo con el nombre por defecto, pero no hay problema si se desea poner otro, lo importante es crear dicho archivo. 


3. De vuelta a la interfaz de VSC podemos ver que el archivo *.cpp está abierto. Bien, ahora volvemos a la pestaña Solution Explorer y encima del proyecto debemos dar clic derecho para desplegar nuevamente el menú emergente. En dicho menú, damos clic en Properties.


3.1. Ahora, es importante que en la venta emergente seleccionemos en el menú desplegable de Configuration: All Configurations, y en el otro menú Platform: x64. Ahora, en el árbol de opciones damos clic en C/C++ y después en General. Ahora, debemos agregar un valor en la opción de Additional Include Directories dentro de General, en este caso debemos definir la carpeta $(OPENCV_DIR)\include

NOTA: Si la en el árbol de opciones no aparece la opción C/C++ es porque VSC no detecta archivo alguno dentro de nuestro proyecto con dicha extensión (paso 2).


3.2. Ahora, dentro del mismo árbol de opciones vamos a Linker y damos clic sobre General. En la opción Additional Library Directories debemos dar como valor $(OPENCV_DIR)\x64\vc14\lib

NOTA: Recuerda que en la carpeta ...\x64\ existen dos subcarpetas ...\vc12\ y ...\vc14\. Ten en cuenta que acorde a tu variable de sistema fijada en la parte anterior de esta guía, es el valor que debes fijar en esta opción. vc: Visual C.


3.3. En el mismo árbol de opciones Linker, damos clic sobre Input, en la opción Additional Dependencies damos clic, menú despegable <Edit...>


3.4. En la ventana emergente agregamos opencv_world310.lib y opencv_world310d.lib

NOTA: Si en errores posteriores VSC indica algún error sobre estas librerías, puedes buscarlas en el explorador de archivos en la ruta de instalación de OpenCV, ...\x64\vc14\lib\ o ...\x64\vc12\lib\. En dicho directorio estarán estas dos librerías, y pueden que cambien de nombre, por lo cual es bueno saber su ubicación. En algunos casos es opencv_world300.lib y opencv_world300d.lib, todo depende de la versión de OpenCV.



4. Una vez configurado esos aspectos en nuestro proyecto de VSC, debemos ajustar la plataforma a x64.


5. Ahora, copiamos el siguiente código de prueba en nuestro archivo *.cpp

#include "opencv2/opencv.hpp"
int main() {
IplImage* img = cvLoadImage("C:/opencv/opencv_logo.png", 1);
cvShowImage("OpenDemo", img);
cvWaitKey();

return 0;
}



Como te diste cuenta, el *.cpp carga del directorio C: /opencv/opencv_logo.png En este caso puedes reemplazar dicho directorio por cualquiera que contenga una imagen. Una vez que esté listo nuestro código, lo siguiente es compilarlo, para hacerlo de manera rápida damos clic en las teclas Ctrl + Shift + B. Una vez que termine de compilar presionamos la tecla F5 para ejecutarlo en modo Debug.

Listo, Opencv implementado en Visual Studio sin problemas...

3 nov 2014

El camino de un indie developer: parte i


Hace tiempo leí un post en la página 99redpotions com. El post me llamo mucho la atención, se trataba de "Consejos para el buen desarrollador Indie" (puedes leerlo aquí: 99redpotions: Consejos para el buen desarrollador Indie).
En el aquel post se tocan cuatro puntos primordiales para llegar a ser un buen desarrollador indie, y lo que es mejor, eran consejos para lograr que tu juego fuese un éxito. Hablo con la verdad, los cuatro puntos me resultaron bastante importantes, y me dije a mi mismo: el día que tenga un blog con al menos cinco lectores he de publicar mis propios consejos (no ha llegado ese día).
No soy un desarrollador de videojuegos como tal, de hecho aún no aprendo a programar bien. Además, soy de esas personas que aprende de los demás sin necesidad de preguntar, me explico, este mundo es demasiado inestable: un día estas en la cima al siguiente estas en el piso sin ánimos de levantarte. Por eso hoy quiero compartir algunos consejos contigo, sí, contigo que estas leyendo esto y que por alguna extraña razón llegaste a este blog.
Como dije, esta idea nació a raíz de la lectura del post en 99redpotions com, por lo que fue inspirado en el, y no lo considero plagio pues hay cosas que no menciona dicho post y que planteo escribir en este. Sin más, comencemos.

¿Ser independiente es fácil?
La respuesta es demasiado sencilla: NO. Ser independiente no es nada fácil, no tienes algo estable, no tienes un flujo de dinero asegurado, es un desafío ser independiente, pero a decir verdad, es este desafío lo que hace interesante la idea de querer ser independiente. Pero no te preocupes, no todo es malo, recuerdo una frase: "Sino has sufrido al menos un fracaso, no tienes derecho al éxito".

Quiero ser independiente porque quiero ser millonario.
Esto es una trampa muy común. No tienen idea de cuantos desarrolladores quieren hacer el siguiente FlappyBird, o el próximo AngryBirds, y monetizar sus productos para poder así vivir de ello. Pero la realidad es otra, esos juegos dieron en el blanco y se hicieron virales a tal grado que pudieron ser rentables con el despliegue de publicidad. Esos casos son contados, es uno de entre miles. Por ejemplo, ¿qué tienen en común estos dos juegos? ¿El nombre? Para nada, el éxito se le atribuye al hecho de que los dos juegos se pueden jugar con una sola mano. Estos dos juegos carecen de joysticks y de botones extras para poder jugarlos, además tienen una jugabilidad muy simple, y no tienen historia profunda, ¿me equivoco? En este tema entra un poco la ingeniería social, el cómo lograr que el jugador se enganche en nuestro juego, etcétera, etcétera... Para dar una idea más amplia sobre esto que menciono, escribiré otro post hablando de ello más adelante, además daré algunas ideas de como monetizar juegos para poder ampliar un poco el panorama sobre la monetización.
Este post es un poco a modo introducción, ya en los siguientes explicaré de manera más directa algunos consejos.
IDEA ORIGINAL: 99redpotions