我必须使用我的 c++ 函数处理 iPhone 相机捕获的帧。所以我使用startRunning()函数来启动数据流,但是我可以用什么方式处理每一帧?
我试图检测眼睛的虹膜,但HoughCircles返回0圈。
输入图像(眼睛)为:
然后,使用此图像进行以下操作:
cvtColor(eyes, gray, CV_BGR2GRAY);
morphologyEx(gray, gray, 4,cv::getStructuringElement(cv::MORPH_RECT,cv::Size(3,3)));
threshold(gray, gray, 0, 255, THRESH_OTSU);
vector<Vec3f> circles;
HoughCircles(gray, circles, CV_HOUGH_GRADIENT, 2, gray.rows/4);
if (circles.size())
cout << "found" << endl;
Run Code Online (Sandbox Code Playgroud)
因此,最终的灰色图像如下所示:
我已经发现了使用HoughCircles来检测和测量瞳孔和虹膜的问题,但尽管与我的问题相似,但它并没有帮助我。
那么为什么HoughCircles在尝试检测虹膜时返回0圈呢?如果有人知道找到虹膜的更好方法,欢迎您。