Affiner l'image à l'aide du filtre laplacien
J'essayais de l'aiguisage sur certains d'image standard de Gonzalez livres. Ci-dessous sont quelques-uns de code que j'ai essayé, mais il ne peut pas faire plus près les résultats des aiguisé image.
cvSmooth(grayImg, grayImg, CV_GAUSSIAN, 3, 0, 0, 0);
IplImage* laplaceImg = cvCreateImage(cvGetSize(oriImg), IPL_DEPTH_16S, 1);
IplImage* abs_laplaceImg = cvCreateImage(cvGetSize(oriImg), IPL_DEPTH_8U, 1);
cvLaplace(grayImg, laplaceImg, 3);
cvConvertScaleAbs(laplaceImg, abs_laplaceImg, 1, 0);
IplImage* dstImg = cvCreateImage(cvGetSize(oriImg), IPL_DEPTH_8U, 1);
cvAdd(abs_laplaceImg, grayImg, dstImg, NULL);
Avant L'Affûtage
Mon Affûtage Résultat
Résultat Souhaité
Absolue De Laplace
source d'informationauteur Mzk
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème, c'est que vous êtes le flou de l'image avant de prendre la 2e dérivées.
Voici le code de travail avec l'API C++ (je suis en utilisant Opencv 2.4.3). J'ai essayé aussi avec MATLAB et le résultat est le même.
Amusez-vous!
Je pense que le principal problème réside dans le fait que vous n'img + laplace, tout en img - laplace aurait donné de meilleurs résultats. Je me souviens que img - 2*laplace était le meilleur, mais je ne trouve pas où j'ai lu que, probablement dans l'un des livres que j'ai lu dans l'université.
Que vous devez faire
img - laplace
au lieu deimg + laplace
.Donc si vous voyez soustraire de laplace de l'image d'origine, vous verriez que le signe moins devant 4*f(x,y) est annulée et ce terme devient positif.
Vous pourriez aussi avoir noyau avec
-5 in the center pixel instead of -4
de faire le laplacien d'un processus en une étape au lieu de faire de l'obtention de la transformée de laplace et de faireimg - laplace
Pourquoi? Essayez dérivant que vous-même.Ce serait le dernier noyau.
Tapis de noyau = (Mat_(3,3) <<
-1, 0, -1,
0, -5, 0,
-1, 0, -1);
Il est en effet bien connu de résultats dans le traitement de l'image que si vous soustraire de son Laplacien d'une image, les bords de l'image sont amplifiés en donnant une image plus nette.
entrez la description de l'image ici
Ainsi, le Code ressemblera à ceci: des
Si vous êtes un lazier. Amusez-vous avec la suivante.
Et le résultat comme celui-ci.entrez la description de l'image ici