So i managed to have it work. I decided to use std::wstring instead of std::string
So there is 2 step .
Convert wxString to std::wstring
This is easly done using a C style cast:
const std::wstring fileName = (std::wstring)wxFileName;
Read file using OpenCV. Done using this answer
Basically the file bytes are loaded in RAM then fed to cv::imdecode