fotos unidas

Iniciado por jugador1820, 3 Mayo 2010, 16:06 PM

0 Miembros y 1 Visitante están viendo este tema.

jugador1820

Hola a todos:
Estoy haciendo un proyecto de fin de curso de informatica en c++. En mi proyecto hay una parte en la que se unen 4 fotos y se quedan como una sola, es decir, parecido al sistema de google en el callejero de googlemaps. Abriendo el mapa y haciendo doble clic vemos la calle como si estuvieramos en ella, y me gustaria conseguir hacer ese sistema pero en c++. Uso el software Borland c++ builder 6. Quisiera saber si es posible hacerlo, y si es posible, donde puedo documentarme para tener una idea
un saludo a todos

Arkangel_0x7C5

pues tendrias que conocer el formato de las fotos, pero basicamente seria algo asi

foto1:

+++++++++++
+++++++++++
+++++++++++
+++++++++++
+++++++++++
+++++++++++

foto2:
###########
###########
###########
###########
###########
###########

Foto1+2:

+++++++++++###########
+++++++++++###########
+++++++++++###########
+++++++++++###########
+++++++++++###########
+++++++++++###########

Recuerda que son arrais de bytes de 2 dimensiones.
Aumentas una de las dimensiones y colocas lo de la otra imagen quedandote como en los dibujos


biribau

jajaja no es tan sencillo, yo he visto usar programas que hacen eso, no recuerdo cuales, pero no es tan fácil, tampoco digo que sea complicado, simplemente no lo sé.

jugador1820

muchas gracias por sus respuestas. El sistema que estoy buscando es parecido al del software privativo panorama maker. Si sabeis de alguna comunidad de software libre en la que me puedan hechar una mano lo agradeceria, porque no lo consigo ni con el array de bytes. Me puse en contacto con la empresa de dicho programa, pero vamos, no han respondido a mi correo ni creo que lo hagan. Asi que si saben de alguna comunidad lo agradeceria muchiiisimo.
Muchiiiisimas gracias por su ayuda prestada!!!!!!
Un saludo

do-while

¡Buenas!

No se en que formato de imagen estas trabajando. Yo hace poco estuve tonteando con el formato BMP, si quieres te puedo pasar lo que tengo sobre ello. Con las funciones que desarrolle y un poco de logica, puedes conseguir con poco esfuerzo lo que planteas en el problema.

Si no trabajas con BMP, no tengo ni idea, investiga un poco sobre el formato que te interese, y supongo que encontraras un monton de informacion sobre el tema.

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Karman

en realidad no importa el formato con el que trabaje, al final se trabaja con bitmaps que es la base, y en cuanto al mezclado, busca información sobre funciones de pintado... bitblt, createcompatiblebitmap, etc... si las imágenes son todas del mismo tamaño y el tamaño de la imagen final es la suma de las dimenciones, puedes usar esas dos para ir pintando por zonas, sinó, hay funciones para achicarlas tb...

S2

biribau

No entendéis, el problema no es juntar 2 imágenes, sino encajarlas como si fuera un puzzle. Juntarlas es demasiado fácil. El caso es ir comparando bordes para ver por donde continúa, ejemplo:
foto1             foto 2
++++++1    0######
++++++2    1######
++++++3    2######
fotos unidas
++++++1######
++++++2######
El problema es que en una foto no se puede comparar exactamente, porque aunque sea digital viene del mundo analógico. Necesitarás algo así como una función de cercanía.

do-while

??????????????

No se si termino de entenderlo.

Foto1 filas1xcolumnas1, foto2 filas2xcolumnas2, foto resultante ¿¿¿filasx(columnas1+colmnas2) donde filas=max{filas1,filas2}???

Si buscas proximidad de colores, aun no he trabajado sobre el tema, pero creo que con la distancia euclidea entre las dos ternas RGB podrias tener un criterio medianamente decente para poder describirla...

¡Saludos!
- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!

Karman

no sería más sencillo numerar o marcar las imágenes con alguna secuencia.... (así funciona google maps)

S2

biribau

Pondré un ejemplo más simple, tomas 2 fotos a un paisaje y quieres empalmarlas para tener una panorámica. Hay que tener en cuenta de que(de una foto a otra) la cámara se mueve arriba y abajo, gira levemente y que parte de la imagen se solapa. Todo eso hay que tener en cuenta, además de que la ilumación cambia, la exposición, los colores por tanto... es un problema difuso, casi de visión artificial.