View SourceEvision Example - Stitching Multiple Photos into A Panorama Photo
Mix.install([{:evision,"~> 0.2"},{:kino,"~> 0.7"},{:req,"~> 0.5"}],system_env:[# optional, defaults to `true`# set `EVISION_PREFER_PRECOMPILED` to `false`# if you prefer `:evision` to be compiled from source# note that to compile from source, you may need at least 1GB RAM{"EVISION_PREFER_PRECOMPILED",true},# optional, defaults to `true`# set `EVISION_ENABLE_CONTRIB` to `false`# if you don't need modules from `opencv_contrib`{"EVISION_ENABLE_CONTRIB",true},# optional, defaults to `false`# set `EVISION_ENABLE_CUDA` to `true`# if you wish to use CUDA related functions# note that `EVISION_ENABLE_CONTRIB` also has to be `true`# because cuda related modules come from the `opencv_contrib` repo{"EVISION_ENABLE_CUDA",false},# required when# - `EVISION_ENABLE_CUDA` is `true`# - and `EVISION_PREFER_PRECOMPILED` is `true`## set `EVISION_CUDA_VERSION` to the version that matches# your local CUDA runtime version## current available versions are# - 118# - 121{"EVISION_CUDA_VERSION","118"},# require for Windows users when# - `EVISION_ENABLE_CUDA` is `true`# set `EVISION_CUDA_RUNTIME_DIR` to the directory that contains# CUDA runtime libraries{"EVISION_CUDA_RUNTIME_DIR","C:/PATH/TO/CUDA/RUNTIME"}])
# change to the file's directory# or somewhere you have write permissionFile.cd!(__DIR__)# https://github.com/opencv/opencv_extra/tree/4.x/testdata/stitchingHelper.download!("https://raw.githubusercontent.com/opencv/opencv_extra/master/testdata/stitching/a1.png","a1.png")Helper.download!("https://raw.githubusercontent.com/opencv/opencv_extra/master/testdata/stitching/a2.png","a2.png")Helper.download!("https://raw.githubusercontent.com/opencv/opencv_extra/master/testdata/stitching/a3.png","a3.png")
:ok
Stitching
aliasEvision,as:Cva1=Cv.imread("./a1.png")a2=Cv.imread("./a2.png")a3=Cv.imread("./a3.png")sticher=Cv.Stitcher.create(){status_code,result}=Cv.Stitcher.stitch(sticher,[a1,a2,a3])0=status_code# status_code should be 0 (OK),# for other status_code, please refer to https://github.com/opencv/opencv/blob/4.5.4/modules/stitching/include/opencv2/stitching.hpp#L152Cv.imencode(".png",result)|>Kino.Image.new(:png)