Repository navigation
v4.8.0
OpenCV v4.8.0
v4.8.0
OpenCV.jl now vendors its own Julia binding generator and ships the
generated wrappers in-repo, decoupling the package from the wrappers
that were previously bundled inside OpenCV_jll. Several long-standing
dispatch bugs are fixed along the way.
Vendored binding generator (#76)
- The Julia binding generator (formerly in
opencv_contrib/modules/julia)
now lives ingen/; the generated.jlwrappers live insrc/generated/. - Regeneration is reproducible (
julia gen/regenerate.jlproduces a
byte-identical tree); seegen/PROVENANCE.mdfor the OpenCV 4.13.0
source pin and bump procedure.
Bug fixes
- #5: regression coverage for the cpp-to-julia dereference path
(splitfollowed by reuse). - #18:
polylines,fillPoly,drawContoursaccept
Vector{<:InputArray}(covariant) instead of requiring the invariant
Vector{InputArray}. - #31:
VideoWriter_fourcc(::Char, ::Char, ::Char, ::Char)dispatches
correctly; addedVideoWriter_fourcc(::AbstractString)to mirror
Python's*"h264"idiom. - #58:
imdecodeaccepts aVector{UInt8}buffer (the natural form
returned byimencode, file reads, and network responses). - #60:
calibrateCamera,calibrateCameraExtended,
calibrateCameraRO,calibrateCameraROExtendedaccept
Vector{<:InputArray}(covariant).
Cleanups
- Hand-written overloads consolidated into
src/cv_manual_wrap.jl(#77). size_tis nowconst size_t = Csize_t(was a non-constglobal with
a dead__init__reassignment);Mat/Vecshed redundant fields;
VecraisesDimensionMismatchinstead of a bareString(#78).
Compat
- Requires
OpenCV_jll4.13 (bumped in v4.7.0).
Merged pull requests:
- Accept covariant Vector{<:InputArray} in calibrateCamera variants (#71) (@ViralBShah)
- Accept covariant Vector{<:InputArray} in polylines, fillPoly, drawContours (#72) (@ViralBShah)
- Accept Vector{UInt8} buffer in imdecode (#73) (@ViralBShah)
- Fix VideoWriter_fourcc dispatch and add String form (#74) (@ViralBShah)
- Add regression test for split + downstream use (closes #5) (#75) (@ViralBShah)
- Vendor the Julia binding generator and ship wrappers in-repo (#49) (#76) (@ViralBShah)
- Consolidate patch files into existing manual-wrap locations (#77) (@ViralBShah)
- Tighten Mat/Vec/cv_cxx/fileio hygiene (#78) (@ViralBShah)
Closed issues:
- no method matching jlopencv_core_Mat_mutable_data(::OpenCV.CxxMatDereferenced) (#5)
- Cannot open video file in ubuntu (#11)
- Type signature issue with "polylines" (#18)
- Bug:
OpenCV.VideoWriter_fourccraises error (#31) - Feature request: FileIO.jl integration (#34)
- Cannot open image in Ubuntu (#56)
MethodErrorwhen usingOpenCV.imdecode(#58)- Types for vectors of arrays, like in calibrateCamera, need to be
Vector{<:AbstractArray{T,3}}instead ofVector{AbstractArray{T,3}}(#60) - OpenCV.jl fails to compile with Julia 1.12.1 (#61)