Benchmarking image processing frameworks
JuliaImages, OpenCV, Pillow, scikit-image
Benchmarking JuliaImages.jl
Using:
BenchmarkTools.jl | jl
timeit | py
Against :
Version used : 4.1.0
Version used : 0.16.2
- (PIL using Pillow)[https://github.com/PseudoCodeNerd/codein-julia/blob/master/benchmark-openCV-JuliaImage/bench-3.ipynb]
Version used : 6.1.0
Machine on which Benchmarks were carried out :
64Bit Windows 10 with 16 GB of RAM and i5-7200U@2.5Ghz
Sample image from https://testimages.juliaimages.org/
Note : Compared mean times by timing only one sample in timeit.
#Getting the Required Packages
using Images, ImageTransformations, FileIO, BenchmarkTools, TestImages
@benchmark img = load("img/mountainstream.png")
img = load("img/mountainstream.png")
@benchmark save("copy_julia.png", img)
img = load("img/mountainstream.png")
@benchmark big_img = imresize(img, ratio=5)
img = load("img/mountainstream.png")
@benchmark gray_img = Gray.(img)
img = load("img/mountainstream.png")
@benchmark gauss = imfilter(img, Kernel.gaussian(5))
img = load("img/mountainstream.png")
@benchmark edges, counts = imhist(img,256)
img = load("img/mountainstream.png")
@benchmark imghsv = HSV.(img)
img = load("img/mountainstream.png")
@benchmark integral_img = integral_image(img)
img = load("img/mountainstream.png")
@benchmark rotated = imrotate(img, pi/2)
img = load("img/mountainstream.png")
@benchmark corners = imcorner(img; method = harris)
img = load("img/mountainstream.png")
@benchmark imge = erode(img, [5,5]) #over 5x5 1's Kernel
img = load("img/mountainstream.png")
@benchmark imgc = closing(img, [5,5]) #over 5x5 1's Kernel
img = load("img/mountainstream.png")
@benchmark imgth = tophat(img, [9,9])
img = load("img/mountainstream.png")
@benchmark imgth = bothat(img, [9,9])
img = load("img/mountainstream.png")
@benchmark markers = label_components(img)
Please accept now sir.