The takeout algorithms are all in C++ but some of their dependencies (e.g., OpenCV) would be difficult to use in these environments. We could make a custom image loader for each of these as that is really the main blocker and then just support the compatible subset of each.
[ ] Option 2: Use the browser's image IO and find a way to get that into the image_fromstring function calls.
[ ] For minor image processing, copy from OpenCV and maintain in tree: cv::resize, cv::getRectSubPix, cv::cvtColor
[ ] Some models won't be supported without significant effort: Brisk, Face Detect.
[ ] GIST needs fftw3 to work, it isn't clear if this will be practical.
[ ] msgpack: It isn't clear if this will be hard to incorporate as is. We may need to conditional compile with the header-only msgpack (https://code.google.com/p/msgpack-cpp-lite/)
The takeout algorithms are all in C++ but some of their dependencies (e.g., OpenCV) would be difficult to use in these environments. We could make a custom image loader for each of these as that is really the main blocker and then just support the compatible subset of each.
https://github.com/kripken/emscripten/wiki
https://code.google.com/p/nativeclient/