1
While running a scan, we assign a tag to images, indicating whether they have been scanned or not.
2
In this case, we tag the scanned images with the "/Scanned/Scanned for Faces" tag.
3
This allows us to easily know if the image has been scanned or not, since this does not involve
4
coding a new table. Other jobs which need to "mark" images like this can create their own "/Scanned/<Name of job>" tag.
5
I am not aware of any other simpler mechanism of "marking" images like this without making my own table.
7
Since we do not want such tags from being written to the metadata or shown to the user, we can have a check that omits all tags under
8
"Scanned" from these operations.
10
=============================
12
Initially, when any face scan is run (either from an image preview or a batch job), we
13
create a tag for People and a subtag for Unknown people, in the form "/People/Unknown".
15
Now, when a face is detected (not identified) in an image, we must assign this "Unknown" tag to that image.
16
After that, we must add the property with a key "faceRegion" to the image-tag pair and with a value
17
which is the region rectangle in the form of an SVG rect.
19
When the face is later identified by the user/recognizer, we must assign a new tag "/People/<Person Name>" to the image,
20
and move the "faceRegion" property with the relevant rect to this tag, and delete this property from "/People/Unknown" for this image.
b'\\ No newline at end of file'