v0.2.2
Changelog
v0.2.2 (2024-06-15)
Browse the Repository | Released Assets
Added
- Experimental support for CUDA shared memory via
Evision.CUDA.GpuMat.to_pointer/{1,2}
. - Experimental support for Gleam. See gleam_evision_demo for more information.
Changes
-
General improvements to the typespecs. Enumerators now also have their own modules.
-
Experimental support for using Nx.tensor directly without calling helper functions like
Evision.Mat.from_nx/1
,Evision.Mat.from_nx_2d/1
andEvision.Mat.last_dim_as_channel/1
. -
Support
/AOS
(arithmetic op src) marks in OpenCV source code.This should make evision's behaviour in line with OpenCV (C++ and Python).
For example, in
Evision.add/2
, the expected behaviour should be different when src1/src2 are single number and they are tuple/array.add(src, X)
whereX
is a number (orNx.tensor(X)
), it meansadd(src, {X,X,X,X})
while
add(src, {X})
(oradd(src, Nx.tensor([X]))
) meansadd(src, {X,0,0,0})
. -
Allow a single number to be passed as
Evision.Mat.maybe_mat_in()
andEvision.scalar()
. -
Allow a n-tuple (containing n numbers) to be passed as
Evision.Mat.maybe_mat_in()
andEvision.scalar()
. -
Evision.Mat
now implementsNx.LazyContainer
protocol.
Fixes
- Fixed Erlang bindings when converting from Elixir structs to Erlang records and vice versa.