filtres / matrices de convolution

filtres / matrices de convolution - Infographie 2D - Graphisme

Marsh Posté le 28-05-2006 à 14:48:44    


Bon je savais pas trop ou poster ça mais comme c'est pas un problème de programmation mais de compréhension et que ça touche à l'infographie 2D, je poste ici. Si ça ne convient pas, pas de problème pour changer de sous cat :)  
 
Je code actuellement en java un petit logiciel rapide et portable de retraitement d'image et j'ai un problème de compréhension au niveau des matrices de convolution, je les appliques indépendament sur les canaux rvb et alpha. Pour trouver la valeur du pixel central, il faut, à un moment, diviser par la somme des coefficients de la matrice de convolution, le problème c'est que dans les matrices d'amélioration des bords, par exemple:
 
             [  0 0 0 ]
Mat A =  [ -1 1 0 ]             La somme des coeffs fait 0 ... On fait comment dans ce cas là ?  :D  
             [  0 0 0 ]
 
Pour les autres matrices ça marche du tonnerre! j'ai implémenter le flou gaussien, l'accentuation des contour, la netteté et toussa. C'est juste les matrices ou la somme des coeffs fait 0 qui me pose problème.
 
Par avance merci.

Reply

Marsh Posté le 28-05-2006 à 14:48:44   

Reply

Marsh Posté le 28-05-2006 à 14:50:19    

ce serait pas par la valeur absolue des coeffs qu'il faudrait diviser ?

Reply

Marsh Posté le 28-05-2006 à 15:42:46    

bon en fait je crois que j'ai résolu le problème, dans ces cas là genre matrice de Laplace il ne faut pas diviser ( enfin par 1 ... )
 
ça vous semble correct comme filtre pour obtenir les contours:
 
http://img107.imageshack.us/img107/8215/dtectiondesbords6bd.png
 
obtenue avec une matrice  [0  1   0]
                                     [1  -4  0]
                                     [0  1   0]
 
Sinon vous connaissez des liens vers des matrices de convolution sympatiques de taille quelquonques ? ( mon programme accepte toutes matrice carré de taille inférieures à l'image  :D )

Reply

Marsh Posté le 28-05-2006 à 17:16:18    

ca a l'air sympa tout ça [:huit]


---------------
TZR un jour…  |  gamertag: cropNcut
Reply

Marsh Posté le 28-05-2006 à 18:21:15    

godbeni a écrit :


[0  1   0]
[1  -4  1]
[0  1   0]
 


 
J'imagine ;)
 
Sinon, tu peux essayer dans différentes directions (extraire les contours horizontaux mais pas verticaux), faire du flou directionnel...
 
Edit : j'ai comme l'impression qu'il y a un petit problème dans ton programme, un motif "carré" semble se répéter sur l'image filtrée... mais c'est peut-être une juste impression.
 
Edit 2 : A la réflexion, le motif "carré" est peut-être dû à la compression jpeg de l'image que tu prends comme source.

Message cité 1 fois
Message édité par kzimir le 28-05-2006 à 18:24:01

---------------
Serre les fesses jusqu'en 2012...
Reply

Marsh Posté le 28-05-2006 à 18:28:54    


exact merci !  :)  

kzimir a écrit :


Sinon, tu peux essayer dans différentes directions (extraire les contours horizontaux mais pas verticaux), faire du flou directionnel...
 
Edit : j'ai comme l'impression qu'il y a un petit problème dans ton programme, un motif "carré" semble se répéter sur l'image filtrée... mais c'est peut-être une juste impression.
 
Edit 2 : A la réflexion, le motif "carré" est peut-être dû à la compression jpeg de l'image que tu prends comme source.


 
exact, y a un motif carré, je viens de m'en rendre compte. Y a surement un problème  :cry:  je vais voir ça, c'est pas évident de coder ça proprement et en plus je suis pas calé en programmation, j'ai débuté la programmation y a 6 mois.
effectivement j'ai déjà essayé de faire des flous directionels par exemple et ça marche bien. :)  

Message cité 1 fois
Message édité par godbeni le 28-05-2006 à 18:32:27
Reply

Marsh Posté le 28-05-2006 à 18:44:20    

godbeni a écrit :

exact merci !  :)  
 
 
exact, y a un motif carré, je viens de m'en rendre compte. Y a surement un problème  :cry:  je vais voir ça, c'est pas évident de coder ça proprement et en plus je suis pas calé en programmation, j'ai débuté la programmation y a 6 mois.
effectivement j'ai déjà essayé de faire des flous directionels par exemple et ça marche bien. :)


 
Si c'est un carré 8*8 et que ton image en entrée est jpeg, c'est peut-être pas un problème, hein ;) Je vois mal comment tu peux avoir ce genre de problème avec un programme d'application de matrice de convolution (à moins que ton image soit décomposée en tiles plutôt qu'une grosse matrice)


---------------
Serre les fesses jusqu'en 2012...
Reply

Marsh Posté le 28-05-2006 à 22:32:38    

kzimir a écrit :

Si c'est un carré 8*8 et que ton image en entrée est jpeg, c'est peut-être pas un problème, hein ;) Je vois mal comment tu peux avoir ce genre de problème avec un programme d'application de matrice de convolution (à moins que ton image soit décomposée en tiles plutôt qu'une grosse matrice)


 
merci à vous deux, le problème venait bien du jpeg et les carré faisait bien 8 pixels  :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed