- Release a first version that has support for Erlang.
An initial version for this has been done in #65 and #66.
The demo code is available on GitHub.
- Complete more Nx backend callbacks.
The progress for using Evision (the OpenCV’s
Mat
class) as an Nx backend is tracked in #48.The short-term (by the end of August) goal for this is to have most callbacks implemented and tested. There are already 42 of 100 callbacks implemented in Evision (as of 23 July 2022).
- Bring modules from opencv-contrib.
I’ll be trying to have more modules from opencv-contrib to be available in Evision.
For user who is compiling Evision from source, modules available in opencv’s main repo and the opencv-contrib repo can be switched on or off freely.
However, for users who prefer to use precompiled version, the precompiled binary will likely to have everything from opencv and opencv-contrib. Or perhaps I can compile two sets: one only contains modules from opencv’s main repo and the other contains everything. Then there will be something in the
config/config.exs
file or as an environment variable to indicate which set to download.
Notes
There are some other things I’d like to note here.
TL;DR: Please treat all 0.1.x
versions as ones in development, and 0.2.0
will be the first official (and perhaps hopefully, a production) release of Evision.
Although I have removed the -dev
string in the version (before was 0.1.0-dev
), it will stay in development status through out 0.1.x
. The reason why I made this decision is to make it easier to track issues for users who prefer to use precompiled binaries.
If the version stays on 0.1.0-dev
, it could be hard to check if the issue has been addressed because the user was using some outdated binaries. Also, as this will be a relatively large project and there are a few dozens of OpenCV modules to support, it would be easier to track changes between versions. Furthermore, I think that there is unlikely to have a major change that breaks everything. With that said, there could be some breaking changes for certain functions in some modules.