I have a Python 3.5 64 bit program (required by tensorflow for Windows) that uses OpenCV. I am distributing it with pyinstaller.
I built my program with Windows 10
I've seen PyInstaller and Py2exe fail to pickup dlls countless times. Personally, I wrap my uses of them in batch or bash for a number of reasons to extend what they do. Logically, I see an argument for wrapping them in py scripts themselves...
Anyway, it may be easier to just copy the dependencies into your installation package through a wrapper script rather then fight with this.
Typically, you'll get a dll missing error thrown at you when try to run something it's missing. Add each one manually to the directory, noting what you needed to include yourself. Then script that.