首页 > 解决方案 > 检测图像中的眩光

问题描述

我正在向我的 iOS 应用程序添加卡片扫描功能并尝试添加眩光检测。因此,当扫描时检测到眩光时,会提示用户重新定位卡片。

我尝试使用 https://www.pyimagesearch.com/2016/10/31/detecting-multiple-bright-spots-in-an-image-with-python-and-opencv/使用 OpenCV 实现它

https://www.pyimagesearch.com/2014/09/29/finding-brightest-spot-image-using-python-opencv/

使用opencv查找图像中的亮点

但考虑到我在 OpenCV 和计算机视觉方面的背景知识非常少,我无法获得想要的结果。

请指导我如何使用 OpenCV/CoreImage/GPUImage 实现眩光检测。

到目前为止我的代码

+ (bool) imageHavingGlare:(CMSampleBufferRef)buffer {
 cv::Mat matImage = [OpenCVWrapper matFromBuffer:buffer];
 cv::Mat matImageGrey;
 cv::cvtColor(matImage, matImageGrey, CV_BGRA2GRAY);

 GaussianBlur(matImageGrey, matImageGrey, cvSize(11,11), 0);

 cv::Mat matImageBinarized;
 cv::threshold(matImageGrey, matImageBinarized, 30, 255, CV_THRESH_BINARY | CV_THRESH_OTSU);

 double min, max;
 cv::Point min_loc, max_loc;
 cv::minMaxLoc(matImageBinarized, &min, &max, &min_loc, &max_loc);    

 if(((max_loc.x > 0) && (max_loc.y > 0)))
 {
    return true;
 }

 return false;
}

标签: iosswiftopencvimage-processingcore-image

解决方案


推荐阅读