Hello,
expert in C++ and OpenCV programming here. If I understood correctly you are using a mix of OpenCV and C++ MFC code compiled as a dll and use this imported in a C# project (or you intend to use it from a C# Xamarin project).
Now, MFC is a Windows only functionality, you simply can't make it portable. There is no practical way in which you can make a dll depending on MFC to run on Mac, Linux (some people are using Wine to run Windows only stuff but it is not a practical solution). For mobiles (Android, iOS) there is no way to run something that depends on MFC.
The solution, in my opinion is to remove the MFC parts from your current solution and replace this with something portable (e.g. FLTK, QT, SDL2). Obviously I can't give you the best suggestion without actually seeing the code.
If you want to work with we need to discuss all the project details.
Thanks,
Paul