After
(637967784888423594)-2,042.zip (637969699845057599)-548.zip
This commit is contained in:
@ -222,9 +222,9 @@ public class FaceRecognition : DisposableObject
|
||||
return results;
|
||||
}
|
||||
|
||||
public List<(Location, FaceEncoding?, Dictionary<FacePart, FacePoint[]>?)> GetCollection(Image image, bool includeFaceEncoding, bool includeFaceParts, bool sortByNormalizedPixelPercentage)
|
||||
public List<(int, Location, FaceEncoding?, Dictionary<FacePart, FacePoint[]>?)> GetCollection(Image image, bool includeFaceEncoding, bool includeFaceParts, bool sortByNormalizedPixelPercentage)
|
||||
{
|
||||
List<(Location, FaceEncoding?, Dictionary<FacePart, FacePoint[]>?)> results = new();
|
||||
List<(int, Location, FaceEncoding?, Dictionary<FacePart, FacePoint[]>?)> results = new();
|
||||
if (image is null)
|
||||
throw new NullReferenceException(nameof(image));
|
||||
image.ThrowIfDisposed();
|
||||
@ -235,9 +235,9 @@ public class FaceRecognition : DisposableObject
|
||||
List<FullObjectDetection> fullObjectDetections = GetFullObjectDetections(image, locations);
|
||||
if (fullObjectDetections.Count != locations.Count)
|
||||
throw new Exception();
|
||||
List<(Location Location, List<FaceEncoding?> FaceEncodings, List<List<(FacePart, FacePoint[])>> FaceParts)> collection = new();
|
||||
foreach (Location location in locations)
|
||||
collection.Add(new(location, new(), new()));
|
||||
List<(int LocationIndex, Location Location, List<FaceEncoding?> FaceEncodings, List<List<(FacePart, FacePoint[])>> FaceParts)> collection = new();
|
||||
for (int i = 0; i < locations.Count; i++)
|
||||
collection.Add(new(i, locations[i], new(), new()));
|
||||
if (locations.Count != collection.Count)
|
||||
throw new Exception();
|
||||
if (!includeFaceEncoding)
|
||||
@ -274,18 +274,18 @@ public class FaceRecognition : DisposableObject
|
||||
fullObjectDetection.Dispose();
|
||||
const int indexZero = 0;
|
||||
Dictionary<FacePart, FacePoint[]> keyValuePairs;
|
||||
foreach ((Location location, List<FaceEncoding?> faceEncodings, List<List<(FacePart, FacePoint[])>> faceParts) in collection)
|
||||
foreach ((int locationIndex, Location location, List<FaceEncoding?> faceEncodings, List<List<(FacePart, FacePoint[])>> faceParts) in collection)
|
||||
{
|
||||
if (faceEncodings.Count != 1 || faceParts.Count != 1)
|
||||
continue;
|
||||
if (!faceParts[indexZero].Any())
|
||||
results.Add(new(location, faceEncodings[indexZero], null));
|
||||
results.Add(new(locationIndex, location, faceEncodings[indexZero], null));
|
||||
else
|
||||
{
|
||||
keyValuePairs = new();
|
||||
foreach ((FacePart facePart, FacePoint[] facePoints) in faceParts[indexZero])
|
||||
keyValuePairs.Add(facePart, facePoints);
|
||||
results.Add(new(location, faceEncodings[indexZero], keyValuePairs));
|
||||
results.Add(new(locationIndex, location, faceEncodings[indexZero], keyValuePairs));
|
||||
}
|
||||
}
|
||||
return results;
|
||||
|
Reference in New Issue
Block a user