| Qui est en ligne ? |
| Il y a : 19 utilisateurs en ligne, consultez le détail |
Forum » Multimédia, jeux et 3D » [PNM] fréquence de couleurs, dans une image |
Forum modéré par : Morgoth |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 17-02-2008 à 16:46:47 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1956 |
Yo ! Je rechercherais un programme qui me permette d'étudier la fréquence des couleurs dans une image PNM ou JFIF/JPEG, en ligne de commande. En fait, c'est pour un script qui devra déterminer le type d'image auquel il a affaire (image ou texte) pour appeler pnmtojpeg avec les bonnes options. ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
|
|
#1 Message posté le : 17-02-2008 à 17:01:24 |
Jedi Forum : Administrateur Association : Membre fondateur Arrivé(e) le : 08-05-2003 Nombre de messages : 4286 |
Euh ... dans la suite d'utilitaires d'ImageMagick, il devrait déjà y avoir tout ce que tu veux, non ? ------------------------------------- Quand le dernier arbre aura été abattu, et le dernier animal exterminé, les hommes se rendront compte que l'argent ne se mange pas. |
|
|
#2 Message posté le : 17-02-2008 à 20:42:10 |
Elfe Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 3942 |
Je ne sais pas si ça existe et ça m'étonnerait un peu car c'est quand même vachement spécifique, mais au pire, tu peux le coder toi-même. A mon avis ça se fait assez facilement en Java ou en C++. ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#3 Message posté le : 17-02-2008 à 23:03:00 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1956 |
Pour ImageMagick, j'ai un peu regardé mais je n'ai rien vu. La man de libpnm semble me convaincre que ça devrait pouvoir se faire rapidement en C... même si la notion de "xel" m'est encore totalement inconnue. Je vais regarder ça... demain, enfin il faudrait que je regardes ça demain pas ce soir, ça ne serait pas sérieux voyons. L'idée était en fait de tout simplement limiter la place par mes documents numérisés/archivés. C'est peut-être insignifiant mais un document noir et blanc qui prend plus de 500 Kio, c'est de la perte pure. C'est toujours ça de gagné, surtout si c'est fait de manière transparente. ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
|
|
#4 Message posté le : 18-02-2008 à 00:48:46 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1956 |
Voilà un premier morceau... Maintenant il faut que je pense à un algorithme qui me permette de déterminer un peu plus précisément les choses. ^^#include <pam.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv) {
FILE * fin = stdin;
struct pam inpam;
tuple * tuplerow;
unsigned int row;
unsigned int i;
unsigned int * csc = (unsigned int *) malloc(inpam.depth*sizeof(unsigned int));
pm_init(argv[0], 0); // *** ???
pnm_readpaminit(fin, &inpam, PAM_STRUCT_SIZE(tuple_type));
tuplerow = pnm_allocpamrow(&inpam);
for(row=0; row<inpam.height; row++) {
unsigned int column;
pnm_readpamrow(&inpam, tuplerow);
for(column=0; column<inpam.width; ++column) {
unsigned int plane;
unsigned int sum = 0;
for(plane=0; plane<inpam.depth; ++plane) sum += tuplerow[column][plane];
for(plane=0; plane<inpam.depth; ++plane) {
printf("%d/%d\t",tuplerow[column][plane],sum);
unsigned int val = tuplerow[column][plane];
if(4*val > sum && 2*val < sum) {
} else csc[plane]++;
} printf("\n");
} printf("\n");
}
pnm_freepamrow(tuplerow);
for(i=0; i<inpam.depth; i++)
printf("%d\t%d\n", i,csc[i]);
return EXIT_SUCCESS;
}------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
|
|
#5 Message posté le : 18-02-2008 à 13:32:51 |
Elfe Forum : Modérateur Association : Membre fondateur Arrivé(e) le : 08-01-2005 Nombre de messages : 3942 |
Je pense que le plus gros du boulot est fait là, et que la suite dépend plus du raisonnement mathématique que tu veux adopter que de l'obstacle technique... ------------------------------------- C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon - |
|
|
#6 Message posté le : 18-02-2008 à 17:25:42 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1956 |
Voilà, tout est là (attention 'is_grayscalable' est un binaire, 'numeriser' est bien un script mais mon CMS le reconnaît mal... il a de l'âge). J'explique ici comment j'ai procédé. édit : bon, j'avoue le gain n'est pas aussi important qu'espéré mais je me suis bien amusé. --Message édité par Azollyx le 18-02-2008 à 17:36:11-- ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
| Page : [1] |
Forum » Multimédia, jeux et 3D » [PNM] fréquence de couleurs, dans une image |
Forum modéré par : Morgoth |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages