Bonjour chers programmeurs,
Quelqu'un d'entre vous connait-il un algorithme de contraste d'image optimal ? J'en ai écrit un mais il me semble pas très performant car il est assez lent en exécution.
Et Merci pour votre aide
Bonjour chers programmeurs,
Quelqu'un d'entre vous connait-il un algorithme de contraste d'image optimal ? J'en ai écrit un mais il me semble pas très performant car il est assez lent en exécution.
Et Merci pour votre aide
Optimal dans le sens où il minimise le temps d'exécution tout en faisant correctement le travail. Bref un algorithme très rapide et merciEnvoyé par Miles
Ca ne veut riend ire non plus. On appelle algorithme optimal au sens d'une certaine fonction de coût un algorithme qui mminimise cette fonction de coût.
Ici, pour toi, il n'y a pas vraiment de fonction de coût, sinon une définie très vaguement par le temps d'exécution et par correctement...
En gros, la seule chose qu'on puisse te dire, c'est étale la plage des valeur du contraste au maximum.
Bonjour,
une très monde méthode pour faire un filtre de contraste est de le créer à partir d'une fonction, passant par (0,0) et (255,255).
Pour que ça contraste, il faut que ta fonction ait la forme d'un 'S'.
Pour cela, j'utilise une fonction de Bezier avec au moins quatres points de contrôles afin de déssiner le contraste que je souhaite.
Merci mais j'ai pas compris.Envoyé par ToTo13
Quel sera le lien entre la fonction de bézier sous forme de 'S' et le contraste de l'image ? Autrement dit comment l'image sera influencée par la courbe de bézier ?
C'est un étalement d'histogramme particulier. C'est là où ta question n'est pas bien posée car tu ne sais pas - et moi non plus d'ailleurs, c'est pourquoi je pose la question et pourquoi ToTo13 t'a donné cette réponse, pensant que tu t'y connaissais un minimum - quel est la meilleure répartition des contrastes dans une image pour qu'elle soit "belle" visuellement, donc quelle est la répartition pour un affichage optimal au sens psychovisuel.Envoyé par uranium-design
En fait je cherche pas la beauté visuelle, ce sont des images destinées à la reconnaissance de formes et donc un filtre de contraste est nécessaire pour éliminer les bruits (Un petit peu comme le filtre de contraste des logiciels de traitement d'images classiques tel Photoshop).Envoyé par Miles
Voilà, donc là c'est sans doute encore différent de ce que tu veux.
Malheureusement, je dois dire, changer la répartition du contraste ne va pas améliorer tes calculs. Ca sera plus beau visuellement peut-être, mais tes algos auront toujours le même problème, voire plus car au départ si tu n'as que 20 valeurs de contrastes, à la fin tu n'en auras pas plus, peut-être même moins
Si tu veux éliminer les bruits, je te conseille d'abord d'aller voir http://humbert-florent.developpez.co.../introduction/ pour voir ce qu'est un filtrage linéaire et pour voir son application simple au débruitage. Après, une fois que tu maîtriseras ça et que tu as des limitations par rapport à ton application, on pourra t'aider à aller encore plus loin
Bonjour,
pour ma réponse, voilà une photo qui explique se dont je parlais :
Dans mon soft, j'utilise une fonction de Bezier pour obtenir la courbe du filtre (fonction de filtrage).
Envoyé par ToTo13
C'est un petit peu ça dont j'ai besoin. Mais je comprends pas comment sont liés le spectre et la fonction de filtrage avec l'image. Pourras tu m'indiquer où je peux trouver ça ?
By the way, une autre question à propos de cette méthode, est-elle rapide ? autrement dit, t'aurais pas un ordre de grandeur du temps d'exécution pour une certaine taille de l'image ?
Bonjour,
c'est une fonction mathématique I(x,y) = F(I(x,y)), donc ça s'utilise de la même façon.
Admettons que tu as un pixel (x,y) de l'image I, ça valeur vaut I(x,y). Tu met la valeur I(x,y) dans ta fonction de contraste F et tu regardes la valeur de sortie.
Donc c'est un méthode linéaie O(N) avec N la taille de ton image.
Un petit exemple, admettons que tu as une image en niveau de gris variant entre 0 et 255. La fonction qui inverse la valeur des pixels est : F(x) = -x+255
Aucun algorithme ne peu le définir, car c'est propre à chacun.quel est la meilleure répartition des contrastes dans une image pour qu'elle soit "belle" visuellement, donc quelle est la répartition pour un affichage optimal au sens psychovisuel.
C'est possible de redistribuer l'histogramme pour maximiser l'utilisation du spectre visible, mais cela ne rendra pas forcément l’image plus "belle".
Tu veux parler de faire un filtre ouverture fermeture pour éliminer le bruit ?En fait je cherche pas la beauté visuelle, ce sont des images destinées à la reconnaissance de formes et donc un filtre de contraste est nécessaire pour éliminer les bruits (Un petit peu comme le filtre de contraste des logiciels de traitement d'images classiques tel Photoshop).
Je ne pense pas que ce soit un filtre morphologique que Photoshop utilise, mais un filtrage linéaire dans sa version de base puis un filtrage non linéaire par la suite.
Envoyé par Miles
Ce que je cherche enfait, c'est un algorithme de la fonction contraste similaire à celui de photoshop.
Si c'est pour faire du traitement d'image, ça ne sert pas à grand chose.
Si si ça va servir. C'est une application qui contient un tout petit module de traitement d'image "manuel" pour passer ensuite à la reconnaissance automatique.Envoyé par Miles
Bonjour,
tu peux très facilement programmer cela avec la fonction que je t'ai donné :
-Tu prend une fonction de Bezier à quatres points de controles (ou une fonction similaire)
- les deux points de contrôles extrèmes sont en (0,0) et (255, 255)
- la barre de variation gèrera l'écartement (sur la droitey=125) des deux points de contrôles centraux.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager