Dzięki za pomoc z góry.OpenCV z formułą Laplacian do wykrywania obrazu jest rozmazany lub nie w iOS
Mam wiele R & D i wyszukiwania, ale nie mogę znaleźć żadnego rozwiązania do wykrywania rozmycia obrazu, czy nie.
Użyłem tego https://github.com/BloodAxe/OpenCV-Tutorial i wykorzystywane do wykrywania rozmycie laplasjan formuła, ale nie może dostać wykrywanie rozmycia w obrazie
- (void) checkForBurryImage: (UIImage *) obraz {
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"); }
Użyłem tego samego kodu co Android i działa poprawnie, ale w iOS jego wartość zawsze jest dodatnia, więc myślę, że nie działa,
Proszę podać mi pomysł lub link lub sugestię.
Dostałeś odpowiedniego rozwiązania tego prob? Mam do czynienia z tym samym problemem. – Prakash