eyeRoisFromMesh method
Extracts aligned eye regions of interest from face mesh landmarks.
Uses specific mesh landmark points corresponding to the eye corners to compute aligned regions of interest (ROIs) for iris detection.
Eye corner indices used:
- Left eye: points 33 (inner corner) and 133 (outer corner)
- Right eye: points 362 (inner corner) and 263 (outer corner)
Returns a list of two AlignedRoi objects: [left eye, right eye].
Implementation
List<AlignedRoi> eyeRoisFromMesh(List<Point> meshAbs) {
AlignedRoi fromCorners(int a, int b) {
final Point p0 = meshAbs[a];
final Point p1 = meshAbs[b];
final double cx = (p0.x + p1.x) * 0.5;
final double cy = (p0.y + p1.y) * 0.5;
final double dx = p1.x - p0.x;
final double dy = p1.y - p0.y;
final double eyeDist = math.sqrt(dx * dx + dy * dy);
return AlignedRoi(cx, cy, eyeDist * 2.3, math.atan2(dy, dx));
}
return [fromCorners(33, 133), fromCorners(362, 263)];
}