J'ai deux images: originale et estompée. Le problème principal est d'estimer le noyau qui a été utilisé pour la convolution de l'image originale pour être blured.Opencv. Estimer le noyau après le blanchissement
Exemple simple d'obtenir l'image blured:
Mat src_raw = imread("D:/codes/debluring/img/lena.png", 1);
Mat kernel = (Mat_<float>(5, 5) <<
0.0392, 0.0398, 0.0400, 0.0398, 0.0392,
0.0398, 0.0404, 0.0406, 0.0404, 0.0398,
0.0400, 0.0406, 0.0408, 0.0406, 0.0400,
0.0398, 0.0404, 0.0406, 0.0404, 0.0398,
0.0392, 0.0398, 0.0400, 0.0398, 0.0392
);
Mat blured;
filter2D(src_raw, blured, src_raw.depth(), kernel);
imshow("Source Image", src_raw);
imshow("Blurred", blured);
cvWaitKey(0);
Maintenant, imaginez que j'ai Mat src_raw et blured et devrait estimer noyau. Je n'ai trouvé aucune fonction opencv pour le faire. Peut-être aurai-je besoin d'un algorithme d'optimisation pour l'obtenir? Si oui, puis-je le trouver dans un paquet opencv?
Merci