I second Mike.
First, let's face VFP itself wouldn't be a candidate to do image processing like face recognition in itself. I expect that to be done with a neural network and that's not a core feature of VFP. Candidate languages for implementation of such a thing are rather lower level languages like C/C++ and some core of it perhaps using graphics card hardware acceleration or assembly. People might also do this in Java and C#, but GDIplusX capabilities or the GetPixel API call surely isn't a base to consider processing images for face recognition on a pixel by pixel basis.
Now let's consider a ready to use module built in any programming language. The module itself would take the input of a camera or image file and do the face recognition, and then rather return what person was detected or perhaps a list with some confidence value in percentage from 0 to 100% for a list of candidate persons. The persons have to be learned somehow, so it will have its own database of some kind, but I'd not expect a classical RDBMS relational database. If you ask the module, whether a certain person matches the video/picture, it should rather answer with a boolean .T./.F. (1/0) or a confidence value and everything else should be self-contained.
Such small interface should be easy to connect to VFP, even though you don't find something including straight VFP integration, you'll find something with any integration, as such a module wouldn't make sese without any API or SDK. I'D expect samples for C++ or C# or any other binding and then you nowadays should be able to talk any such second language aside of VFP and do that final last step to forward that boolean or confidence percentage to VFP yourself.
Don't expect anyone to do libraries for VFP, look out what you can bind to and you should have that base knowledge about VFP interop possibilities:
You can use DECLARE to declare stdcall functions in "classic" functional DLLs or you can use ActiveX DLLs or OCXes. One more possibility MS gave us is creating and consuming FLLs, but such libraries are intended for VFP and I don't see anyone making such anymore, it has a very limited target group of VFP developers. You could easily turn almost any stdcall DLL library into an FLL, it just needs a little extra structural info, but it's not worth the hassle, as you can already bind to such a DLL via DECLARE. FLLs only really make sense, if the FLL also makes use of being more directly integrated into the VFP process and having access to VFPs internals like Nametable (variables), but again: Who would create something only usable for VFP?
Rick Strahl added another extension vector with his DotNet Bridge. It essentially creates COM interop info of Assembly DLLs on the fly, even if they were not compiled for interop. In that regard, it's making use of the COM interoperability of VFP.
And then, finally there are simple interfaces like calling an EXE with command line parameters and interfacing via result files. Interprocess Communication is not that simple, but also has some limited use and then there are webservices or Rest APIs, all the stuff that is remote and not involved with the VFP process itself can be used, too, as the interfaces to these are RAM, file system, http or other web protocols.
Anyway, integrating such a thing into a VFP application is a bit like forcing an air condition or parking sensor into an oldtimer. You surely have it easier to do such things in separate new projects done in anything but VFP.
Bye, Olaf.