OpenCV GSoC 2019 Proposal - huningxin/opencv GitHub Wiki

  1. Area: Programming Language

    1. IDEA: Improve the performance of JavaScript version of OpenCV (OpenCV.js)

      • Description: OpenCV.js makes OpenCV functions available to JavaScript developers by compiling its C++ implementation to WebAssembly (or Asm.js) and exposing them through a JavaScript binding. However the current version of OpenCV.js only runs in single thread and doesn't use SIMD instructions. This causes the performance of OpenCV.js is far below the native version and prevents some real-time use cases to be deployed in web browser. This task aims to improve the performance of OpenCV.js by exploiting parallelism of CPU. This requires to port the parallel implementations of OpenCV source code to web by leveraging Threads and SIMD features of WebAssembly.
      • Expected Outcomes:
      • Skills Required: C++, JavaScript, HTML, WebAssembly, performance optimization, multi-threading and SIMD. Fluent in written English.
      • Mentors: Ningxin Hu
      • Difficulty: Medium