<h5 dir="auto">System information (version)</h5>

<ul dir="auto">
<li>OpenCV =&gt; 4.1.0</li>
<li>Operating System / Platform =&gt; Ubuntu 18.10</li>
<li>Compiler =&gt; Emscripten</li>
</ul>
<h5 dir="auto">Detailed description</h5>
<p dir="auto">I am wanting to use the <a href="https://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#findhomography" rel="nofollow"><code class="notranslate">findHomography</code></a> function in the webassembly build of opencv. However, no bindings are provided for the calib3d module. By the <a href="https://github.com/opencv/opencv/blob/64168fc20aa8a914cb5529f90ffac309854563b1/platforms/js/build_js.py#L119">comment in the build script</a> this is intentional.</p>
<p dir="auto">However, I wanted to start a discussion on whether it is feasible to include this module, and if so what would be needed to be done to get this working.</p>
<h5 dir="auto">System information (version)</h5>

<ul dir="auto">
<li>OpenCV =&gt; 3.4.9</li>
<li>Operating System / Platform =&gt; archlinux 64bit</li>
<li>Compiler =&gt; gcc 9.2.0</li>
</ul>
<h5 dir="auto">Detailed description</h5>
<p dir="auto">I have just installed opencv from source, with bindings to python3.8. I chose Atlas for BLAS implementation. When compiling the python bindings I saw warnings of the kind</p>
<p dir="auto"><code class="notranslate">warning: libopenblas.so.3 not found</code></p>
<p dir="auto">Which sounded weird to me, because I had explicitly chosen Atlas implementation in cmake. The compilation went ahead, so I didn't think much of it. Besides, Archlinux doesn't allow you to have two implementations of BLAS installed on the system, so there was no much I could do about it.</p>
<p dir="auto">The issue became apparent when I tried to import cv2, it threw this error:</p>
<blockquote>
<p dir="auto">Traceback (most recent call last):<br>
File "", line 1, in <br>
File "cv2/<strong>init</strong>.py", line 8, in <br>
import numpy<br>
File "/usr/lib/python2.7/site-packages/numpy/<strong>init</strong>.py", line 145, in <br>
from . import lib<br>
File "/usr/lib/python2.7/site-packages/numpy/lib/<strong>init</strong>.py", line 9, in <br>
from .index_tricks import *<br>
File "/usr/lib/python2.7/site-packages/numpy/lib/index_tricks.py", line 13, in <br>
import numpy.matrixlib as matrixlib<br>
File "/usr/lib/python2.7/site-packages/numpy/matrixlib/<strong>init</strong>.py", line 6, in <br>
from .defmatrix import *<br>
File "/usr/lib/python2.7/site-packages/numpy/matrixlib/defmatrix.py", line 13, in <br>
from numpy.linalg import matrix_power<br>
File "/usr/lib/python2.7/site-packages/numpy/linalg/<strong>init</strong>.py", line 51, in <br>
from .linalg import *<br>
File "/usr/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 35, in <br>
from numpy.linalg import lapack_lite, _umath_linalg<br>
ImportError: libopenblas.so.3: cannot open shared object file: No such file or directory</p>
</blockquote>
<p dir="auto">So even though I had chosen atlas implementation, cv2.so is requiring openblas</p>
<h5 dir="auto">Steps to reproduce</h5>
<p dir="auto">-On archlinux, install python-numpy<br>
-Compile from source opencv, choose atlas implementation for BLAS<br>
-Select python3.8 as default executable (for python bindings)</p>
<ul dir="auto">
<li>import cv2 fails with above error</li>
</ul>