OpenCV.jl: OpenCV's Julia Bindings


OpenCV.jl is a Julia package that provides an interface to the popular computer vision library OpenCV. It allows Julia users to leverage the extensive functionalities and algorithms offered by OpenCV for various computer vision tasks, such as image and video processing, object detection, feature extraction, and more.


using ImageCore, OpenCV, TestImages, MosaicViews

img_orig = testimage("Mandrill")

img_raw =  collect(rawview(channelview(img_orig)))

img_gray = OpenCV.cvtColor(img_raw, OpenCV.COLOR_RGB2GRAY)

img_blur = OpenCV.blur(img_gray, OpenCV.Size(Int32(9), Int32(9)))

img_back =  colorview(Gray, float.(img_blur)./255)[1,:,:]

mosaic(img_orig, img_back; nrow=1)


Relevant Details:

We welcome new contributors to help improve the package and performance of existing solutions.


OpenCV.jl 4.5.3 is out

  • It should work on Julia 1.9 and is now being maintained in JuliaImages after Archit Rungta joined JuliaImages some days back.
  • Currently in maintenance mode given limited contributors. In list of wrapped methods mentioned above if any user finds a specific usecase/methods in OpenCV.jl which other packages in JuliaImages don’t solve and you really need it, do let us know(here, on slack(# image-processing) or zulip(# image-processing). Then we can collabratively work on providing those in a more streamlined way.