Carga secuencial de imágenes

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
MarcosM
Mensajes: 3
Registrado: 14/03/2019 12:34 pm

Carga secuencial de imágenes

#1 Mensaje por MarcosM » 14/03/2019 12:38 pm

Buenas noches,

Me ha surgido un pequeño problemilla con C++ en OpenCV. Necesito cargar una secuencia de imágenes(4500) dentro del programa y no estoy seguro de cómo hacerlo. En principio iba a hacerlo con el comando imread , pero este requiere que le envíes el nombre de la foto en forma de string. Mi problema es, que si fueran 2 o 3 fotos pues puedo poner tres veces el imread con los nombres de las fotos, pero al tratarse de 4500 fotos, ¿cómo puedo cargarlas todas sin tener que escribir a mano 4500 veces el nombre del archivo? Porque no se me ocurre cómo decir al programa que cambie manualmente el nombre del archivo.

Muchas gracias de antemano

mollok
Mensajes: 397
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Carga secuencial de imágenes

#2 Mensaje por mollok » 14/03/2019 1:37 pm

Una forma sería que tuvieras las imágenes con nombres img1.jpg, img2.jpg, img3.jpg, etc. entonces con un for podrías crear cadenas secuenciales con contanenaciones y así se formarían los nombres automáticamente. Otra forma sería usar las librerías del sistema operativo para obtener los nombres de los archivos dentro de la carpeta e ir cargándolos después.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

MarcosM
Mensajes: 3
Registrado: 14/03/2019 12:34 pm

Re: Carga secuencial de imágenes

#3 Mensaje por MarcosM » 15/03/2019 2:09 am

Gracias por responder Mollok,
Perdona que pregunte de nuevo, el primer caso que me has dicho, si yo tengo que llamar a las fotos con el formato string, como puedo hacer variar ese 1, 2 ,3,4 dentro del programa.?
Y en cuanto a las librerías, a cuáles te refieres?

Gracias de antemano

mollok
Mensajes: 397
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: Carga secuencial de imágenes

#4 Mensaje por mollok » 15/03/2019 9:43 am

De las librerías no sé, cada sistema operativo tiene las suyas.

Respecto al código aquí tienes un ejemplo en C. C++ no me gusta y no lo uso:

Código: Seleccionar todo

#include <stdio.h>

int main() {
    char ubicacion[10][25];
    
    // cargo todas las rutas
    for(int i = 0; i < 10; ++i) {
        sprintf(ubicacion[i], "img%i.jpg", i);        
    }
    
    // muestro todas las rutas que he conseguido
    for(int i = 0; i < 10; ++i) {
        printf("%s\n", ubicacion[i]);
    }
}
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados