OVH Cloud OVH Cloud

[WD10] image

9 réponses
Avatar
jean-claude
bonjour,
dans un champ image, j'ai construis une image en noir sur fond blanc,
j'ai copié le contenu sur un autre champ image de même dimension.
Sur le premier champ, je trace un cercle en mode normal, sur le second
un même cercle en mode XOR.
Mon but: comparer ces images. Le moyen imaginé : compter les pixels
noirs sur chacune des images. Pb : pas trouvé de fonction le permettant
Question : quelqu'un connait une procedure peu gourmande en temps ( le
tracé du cercle devant se faire plusieurs fois, le diamètre ayant
changé), sans passer par une sauvegarde des images ( déjà fait en
comparant la taille des fichiers créés, c'est trop long)

Merci d'avance pour les réponses.

9 réponses

Avatar
STASZEWSKI André
Bonjour

en ouvrant le fichier en mode binaire, tu determines la fin de l'entête puis
à partir de cette adresse, tu compte les octets dont la valeur héxa
correspond à un point noir...

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph


"jean-claude" a écrit dans le message de news:
eahs5t$g4u$
bonjour,
dans un champ image, j'ai construis une image en noir sur fond blanc,
j'ai copié le contenu sur un autre champ image de même dimension.
Sur le premier champ, je trace un cercle en mode normal, sur le second
un même cercle en mode XOR.
Mon but: comparer ces images. Le moyen imaginé : compter les pixels
noirs sur chacune des images. Pb : pas trouvé de fonction le permettant
Question : quelqu'un connait une procedure peu gourmande en temps ( le
tracé du cercle devant se faire plusieurs fois, le diamètre ayant
changé), sans passer par une sauvegarde des images ( déjà fait en
comparant la taille des fichiers créés, c'est trop long)

Merci d'avance pour les réponses.


Avatar
jean-claude
Merci pour la réponse, elle est utile, mais seulement si un fichier est
créé. Hors ce n'est pas le cas désiré, l'image est dans un champ

STASZEWSKI André a écrit :
Bonjour

en ouvrant le fichier en mode binaire, tu determines la fin de l'entête puis
à partir de cette adresse, tu compte les octets dont la valeur héxa
correspond à un point noir...

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph


"jean-claude" a écrit dans le message de news:
eahs5t$g4u$
bonjour,
dans un champ image, j'ai construis une image en noir sur fond blanc,
j'ai copié le contenu sur un autre champ image de même dimension.
Sur le premier champ, je trace un cercle en mode normal, sur le second
un même cercle en mode XOR.
Mon but: comparer ces images. Le moyen imaginé : compter les pixels
noirs sur chacune des images. Pb : pas trouvé de fonction le permettant
Question : quelqu'un connait une procedure peu gourmande en temps ( le
tracé du cercle devant se faire plusieurs fois, le diamètre ayant
changé), sans passer par une sauvegarde des images ( déjà fait en
comparant la taille des fichiers créés, c'est trop long)

Merci d'avance pour les réponses.






Avatar
STASZEWSKI André
Bonjour

Rien ne t'empêche dans le bouton (ou l'action) qui effectuera la
comparaison, de sauver les deux champs images dans un fichier tempo et de
faire la comparaison sus expliquée...

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph


"jean-claude" a écrit dans le message de news:
eaj72b$fs1$
Merci pour la réponse, elle est utile, mais seulement si un fichier est
créé. Hors ce n'est pas le cas désiré, l'image est dans un champ

STASZEWSKI André a écrit :
> Bonjour
>
> en ouvrant le fichier en mode binaire, tu determines la fin de l'entête


puis
> à partir de cette adresse, tu compte les octets dont la valeur héxa
> correspond à un point noir...
>
> --
> Cordialement,
> André STASZEWSKI
> (Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
> Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph
>
>
> "jean-claude" a écrit dans le message de news:
> eahs5t$g4u$
>> bonjour,
>> dans un champ image, j'ai construis une image en noir sur fond blanc,
>> j'ai copié le contenu sur un autre champ image de même dimension.
>> Sur le premier champ, je trace un cercle en mode normal, sur le second
>> un même cercle en mode XOR.
>> Mon but: comparer ces images. Le moyen imaginé : compter les pixels
>> noirs sur chacune des images. Pb : pas trouvé de fonction le permettant
>> Question : quelqu'un connait une procedure peu gourmande en temps ( le
>> tracé du cercle devant se faire plusieurs fois, le diamètre ayant
>> changé), sans passer par une sauvegarde des images ( déjà fait en
>> comparant la taille des fichiers créés, c'est trop long)
>>
>> Merci d'avance pour les réponses.
>
>


Avatar
jean-claude
merci pour la réponse, mais cela correspond à la démarche que j'avais
mis en place, mais trop gourmand en temps. J'aimerai faire cette
comparaison sans sauver un fichier sur disque.

STASZEWSKI André a écrit :
Bonjour

Rien ne t'empêche dans le bouton (ou l'action) qui effectuera la
comparaison, de sauver les deux champs images dans un fichier tempo et de
faire la comparaison sus expliquée...

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph


"jean-claude" a écrit dans le message de news:
eaj72b$fs1$
Merci pour la réponse, elle est utile, mais seulement si un fichier est
créé. Hors ce n'est pas le cas désiré, l'image est dans un champ

STASZEWSKI André a écrit :
Bonjour

en ouvrant le fichier en mode binaire, tu determines la fin de l'entête




puis
à partir de cette adresse, tu compte les octets dont la valeur héxa
correspond à un point noir...

--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph


"jean-claude" a écrit dans le message de news:
eahs5t$g4u$
bonjour,
dans un champ image, j'ai construis une image en noir sur fond blanc,
j'ai copié le contenu sur un autre champ image de même dimension.
Sur le premier champ, je trace un cercle en mode normal, sur le second
un même cercle en mode XOR.
Mon but: comparer ces images. Le moyen imaginé : compter les pixels
noirs sur chacune des images. Pb : pas trouvé de fonction le permettant
Question : quelqu'un connait une procedure peu gourmande en temps ( le
tracé du cercle devant se faire plusieurs fois, le diamètre ayant
changé), sans passer par une sauvegarde des images ( déjà fait en
comparant la taille des fichiers créés, c'est trop long)

Merci d'avance pour les réponses.











Avatar
STASZEWSKI André
Bonsoir,
J'avais bien compris mais bon, sous WD il n'y a pas de cde pour comptabliser
la valeur des octets dans un champ image.
Il faudrait trouver un activeX écrit en C par ex et qui possède ses propres
fonctions dont celle que tu recherches...
Sinon tu peux tjrs proposer cette possibilité au ST de l'éditeur. Peut être
ça y sera dans la version 11 ?
--
Cordialement,
André STASZEWSKI
(Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph

"jean-claude" a écrit dans le message de news:
eaoge7$ki1$
merci pour la réponse, mais cela correspond à la démarche que j'avais
mis en place, mais trop gourmand en temps. J'aimerai faire cette
comparaison sans sauver un fichier sur disque.

STASZEWSKI André a écrit :
> Bonjour
>
> Rien ne t'empêche dans le bouton (ou l'action) qui effectuera la
> comparaison, de sauver les deux champs images dans un fichier tempo et


de
> faire la comparaison sus expliquée...
>
> --
> Cordialement,
> André STASZEWSKI
> (Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
> Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph
>
>
> "jean-claude" a écrit dans le message de news:
> eaj72b$fs1$
>> Merci pour la réponse, elle est utile, mais seulement si un fichier est
>> créé. Hors ce n'est pas le cas désiré, l'image est dans un champ
>>
>> STASZEWSKI André a écrit :
>>> Bonjour
>>>
>>> en ouvrant le fichier en mode binaire, tu determines la fin de


l'entête
> puis
>>> à partir de cette adresse, tu compte les octets dont la valeur héxa
>>> correspond à un point noir...
>>>
>>> --
>>> Cordialement,
>>> André STASZEWSKI
>>> (Gratuit) Photo Visu 3.1 sur www.PlaneteDev.fr.st
>>> Pour me contacter cliquez ici : http://cerbermail.com/?OT0Wnwyzph
>>>
>>>
>>> "jean-claude" a écrit dans le message de news:
>>> eahs5t$g4u$
>>>> bonjour,
>>>> dans un champ image, j'ai construis une image en noir sur fond blanc,
>>>> j'ai copié le contenu sur un autre champ image de même dimension.
>>>> Sur le premier champ, je trace un cercle en mode normal, sur le


second
>>>> un même cercle en mode XOR.
>>>> Mon but: comparer ces images. Le moyen imaginé : compter les pixels
>>>> noirs sur chacune des images. Pb : pas trouvé de fonction le


permettant
>>>> Question : quelqu'un connait une procedure peu gourmande en temps (


le
>>>> tracé du cercle devant se faire plusieurs fois, le diamètre ayant
>>>> changé), sans passer par une sauvegarde des images ( déjà fait en
>>>> comparant la taille des fichiers créés, c'est trop long)
>>>>
>>>> Merci d'avance pour les réponses.
>>>
>
>


Avatar
Gilles Guédikian
jean-claude a écrit :
bonjour,
dans un champ image, j'ai construis une image en noir sur fond blanc, j'ai
copié le contenu sur un autre champ image de même dimension.
Sur le premier champ, je trace un cercle en mode normal, sur le second un
même cercle en mode XOR.
Mon but: comparer ces images. Le moyen imaginé : compter les pixels noirs sur
chacune des images. Pb : pas trouvé de fonction le permettant
Question : quelqu'un connait une procedure peu gourmande en temps ( le tracé
du cercle devant se faire plusieurs fois, le diamètre ayant changé), sans
passer par une sauvegarde des images ( déjà fait en comparant la taille des
fichiers créés, c'est trop long)



Tu fais une boucle sur chaque pixel de l'image, et tu utilises
dPixelCouleur.
Si la résolution de l'image n'est pas délirante, ca ne devrait pas
prendre trop de temps.
Avatar
Romain PETIT
Gilles Guédikian a écrit :

Tu fais une boucle sur chaque pixel de l'image, et tu utilises dPixelCouleur.
Si la résolution de l'image n'est pas délirante, ca ne devrait pas prendre
trop de temps.



Heu, quand même....
Pour des traitements rapides sur des images lourdes, il est à mon avis
préférable de choisir la solution de la dll externe.

Si le soft est pour une utilisation non professionnelle et/ou non
commercial ou s'il est prêt à payer une licence, il y a par exemple la
gfl SDK http://www.xnview.com/.

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Gilles Guédikian
Romain PETIT a pensé très fort :
Gilles Guédikian a écrit :

Tu fais une boucle sur chaque pixel de l'image, et tu utilises
dPixelCouleur.
Si la résolution de l'image n'est pas délirante, ca ne devrait pas prendre
trop de temps.



Heu, quand même....
Pour des traitements rapides sur des images lourdes, il est à mon avis
préférable de choisir la solution de la dll externe.

Si le soft est pour une utilisation non professionnelle et/ou non commercial
ou s'il est prêt à payer une licence, il y a par exemple la gfl SDK
http://www.xnview.com/.



Que j'utilise aussi, et ça ne va pas bcp bcp plus vite pour ce genre de
traitement.
Avatar
jean-claude
Gilles Guédikian a écrit :
Romain PETIT a pensé très fort :
Gilles Guédikian a écrit :

Tu fais une boucle sur chaque pixel de l'image, et tu utilises
dPixelCouleur.
Si la résolution de l'image n'est pas délirante, ca ne devrait pas
prendre trop de temps.



Heu, quand même....




merci pour les infos. J'ai téléchargé la dll, j'essaie et je vous informe.

Pour des traitements rapides sur des images lourdes, il est à mon avis
préférable de choisir la solution de la dll externe.

Si le soft est pour une utilisation non professionnelle et/ou non
commercial ou s'il est prêt à payer une licence, il y a par exemple la
gfl SDK http://www.xnview.com/.



Que j'utilise aussi, et ça ne va pas bcp bcp plus vite pour ce genre de
traitement.