Algoritmo calcolo numero pixel su una certa riga di un certo
Salve,
so quasi nulla di programmazione.
La mia domanda è questa: è possibile scrivere in C++ un programma che
faccia quello che richiedo in seguito?
Prima di tutto devo fornire in imput un'immagine jpeg, png, o di altra estensione..
In particolare voglio dare in imput l'immagine di un grafico di cui non conosco la funzione.
Penso che questo si possa fare caricando la libreria CIMG.
dichiarate le variabili intere
$z=0$
$\Delta h= a $ valore assegnato, non necessariemente intero
$T=0$
Detto questo vorrei costruire un ciclo (for?) che faccia la cosa seguente:
Considero una certa riga della matrice dei pixel, al ciclo successivo considero quella immediamamente successiva(sopra)
Inizio ciclo
{
partire da una certa riga della matrice dei pixel, contare su questa riga il numero $N$ dei pixel di un colore stabilito da me (nero ad esempio)
assegnare il valore alla variabile $\Delta h= k \cdot \Delta h$ dove $k$ è il numero del \(k-esimo\) ciclo
assegnare il valore alla variabile $z=N\cdot \Delta h+z$
assegnare il valore alla variabile $T= T+N$
Voglio che il ciclo si fermi quando $N=0$
}
Fine ciclo
e avere in out put i valori di $T$ e $z$ alla fine del ciclo
E' possibile? è semplice? mi pare che il ciclo sia semplice e fattibile, non so con i pixel come funzioni..
A chiunque mi dia una mano, anche se vuole porre domande visto che non è il massimo ciò che ho scritto, un grazie!
so quasi nulla di programmazione.
La mia domanda è questa: è possibile scrivere in C++ un programma che
faccia quello che richiedo in seguito?
Prima di tutto devo fornire in imput un'immagine jpeg, png, o di altra estensione..
In particolare voglio dare in imput l'immagine di un grafico di cui non conosco la funzione.
Penso che questo si possa fare caricando la libreria CIMG.
dichiarate le variabili intere
$z=0$
$\Delta h= a $ valore assegnato, non necessariemente intero
$T=0$
Detto questo vorrei costruire un ciclo (for?) che faccia la cosa seguente:
Considero una certa riga della matrice dei pixel, al ciclo successivo considero quella immediamamente successiva(sopra)
Inizio ciclo
{
partire da una certa riga della matrice dei pixel, contare su questa riga il numero $N$ dei pixel di un colore stabilito da me (nero ad esempio)
assegnare il valore alla variabile $\Delta h= k \cdot \Delta h$ dove $k$ è il numero del \(k-esimo\) ciclo
assegnare il valore alla variabile $z=N\cdot \Delta h+z$
assegnare il valore alla variabile $T= T+N$
Voglio che il ciclo si fermi quando $N=0$
}
Fine ciclo
e avere in out put i valori di $T$ e $z$ alla fine del ciclo
E' possibile? è semplice? mi pare che il ciclo sia semplice e fattibile, non so con i pixel come funzioni..
A chiunque mi dia una mano, anche se vuole porre domande visto che non è il massimo ciò che ho scritto, un grazie!
Risposte
Non ho capito quasi niente di quello che stai cercando di fare (.. forse è meglio che vada a dormire..) però è certamente possibile caricare un immagine e accedere ai singoli pixel di questa immagine. Esistono tantissime librerie per farlo come la libreria CImg che hai già citato. Ma in cosa incontri esattamente difficoltà?
"apatriarca":
Non ho capito quasi niente di quello che stai cercando di fare (.. forse è meglio che vada a dormire..) però è certamente possibile caricare un immagine e accedere ai singoli pixel di questa immagine. Esistono tantissime librerie per farlo come la libreria CImg che hai già citato. Ma in cosa incontri esattamente difficoltà?
I miei rudimenti di programmazione in C++ risalgono a 3-4 lezioni in quinto superiore.
Detto questo se mi aiutassi, anche chiedendomi cosa non è chiaro, mi faresti un piacere.
Quello che praticamente voglio fare è prendere un immagine, da caricare quando avvio il programma,
selezionare una riga di pixel da cui cominciare l'algoritmo, che consiste
nel calcolare il numero $N$ di pixel di un colore determinato in quella riga.
Ad ogni pixel colorato su questa riga assegno un numero reale $a$ che imposto nel programma,
e voglio ottenere il prodotto $N\cdot a$
Finito questo ciclo, il successivo consiste nell'eseguire la stessa operazione alla riga di pixel superiore,
solo che a ogni pixel del colore stabilito assegno un numero reale $a+\Delta h$
e poi faccio la somma fino a $k$ dei prodotti numero di pixel $X$ valore assegnato al \(k-esimo\) ciclo
Lo so non è il massimo del rigore, ma se qualcuno condivide il suo sapere informatico avrà la mia ammirazione
