Grazie per l'aiuto in anticipo.OpenCV con formula laplaciana per rilevare l'immagine sfocata o meno in iOS
Ho un sacco di R & D e la ricerca ma non riesco a trovare alcuna soluzione per rilevare l'immagine sfocata o meno.
Ho usato questo https://github.com/BloodAxe/OpenCV-Tutorial e per il rilevamento di sfocatura utilizzato formula di Laplace, ma non è possibile ottenere il rilevamento sfocatura dell'immagine
- (void) checkForBurryImage: immagine (UIImage *) {
cv::Mat matImage = [image toMat]; cv::Mat matImageGrey; cv::cvtColor(matImage, matImageGrey, CV_BGRA2GRAY); cv::Mat dst2 =[image toMat]; cv::Mat laplacianImage; dst2.convertTo(laplacianImage, CV_8UC1); cv::Laplacian(matImageGrey, laplacianImage, CV_8U); cv::Mat laplacianImage8bit; laplacianImage.convertTo(laplacianImage8bit, CV_8UC1); //------------------------------------------------------------- //------------------------------------------------------------- unsigned char *pixels = laplacianImage8bit.data; //------------------------------------------------------------- //------------------------------------------------------------- // unsigned char *pixels = laplacianImage8bit.data; int maxLap = -16777216; for (int i = 0; i < (laplacianImage8bit.elemSize()*laplacianImage8bit.total()); i++) { if (pixels[i] > maxLap) maxLap = pixels[i]; } int soglia = -6118750; printf("\n maxLap : %i",maxLap); if (maxLap < soglia || maxLap == soglia) { printf("\n\n***** blur image *****"); }else printf("\nNOT a blur image"); }
E ho utilizzato lo stesso codice di Android e funziona bene ma in iOS, il suo valore è sempre positivo quindi penso che non funzioni,
Quindi, per favore mi dia un'idea o un link o qualche suggerimento.
Hai avuto soluzione adatta per questo prob? Anch'io sto affrontando lo stesso problema. – Prakash