Skip to content

Instantly share code, notes, and snippets.

@sciunto
Created September 27, 2018 08:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sciunto/1edd33b542ff549772cec0ab1340d73b to your computer and use it in GitHub Desktop.
Save sciunto/1edd33b542ff549772cec0ab1340d73b to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import imageio
print('imageio version ', imageio.__version__)
import cv2
print('cv2 version ', cv2.__version__)
import skimage
print('skimage version ', skimage.__version__)
from skimage import data
import os
import time
from skimage import io
import math
def convert_size(size_bytes):
if size_bytes == 0:
return "0B"
size_name = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")
i = int(math.floor(math.log(size_bytes, 1024)))
p = math.pow(1024, i)
s = round(size_bytes / p, 2)
return "%s %s" % (s, size_name[i])
os.makedirs('output', exist_ok=True)
img = data.camera()
img = data.hubble_deep_field()
num_trials = 25
print('writing duration | reading duration | filesize')
before = time.perf_counter()
for i in range(num_trials):
filename = 'output/' + str(i) + 'leveldefault.png'
io.imsave(filename, img, plugin='imageio')
after = time.perf_counter()
before2 = time.perf_counter()
for i in range(num_trials):
io.imread(filename)
after2 = time.perf_counter()
print('skimage png imageio plugin: ',
(after - before) / num_trials,
(after2 - before2) / num_trials,
convert_size(os.path.getsize(filename)))
before = time.perf_counter()
for i in range(num_trials):
filename = 'output/' + str(i) + 'leveldefault.png'
io.imsave(filename, img, plugin='imageio', compress_level=3)
after = time.perf_counter()
before2 = time.perf_counter()
for i in range(num_trials):
io.imread(filename)
after2 = time.perf_counter()
print('skimage png imageio plugin comp=3: ',
(after - before) / num_trials,
(after2 - before2) / num_trials,
convert_size(os.path.getsize(filename)))
before = time.perf_counter()
for i in range(num_trials):
filename = 'output/' + str(i) + 'leveldefault.png'
io.imsave(filename, img, plugin='imageio', compress_level=0)
after = time.perf_counter()
before2 = time.perf_counter()
for i in range(num_trials):
io.imread(filename)
after2 = time.perf_counter()
print('skimage png imageio plugin comp=0: ',
(after - before) / num_trials,
(after2 - before2) / num_trials,
convert_size(os.path.getsize(filename)))
#before = time.perf_counter()
#for i in range(40):
# imageio.imwrite('imageio/' + str(i) + '-level3.png', data.camera(), compress_level=3)
#after = time.perf_counter()
#print('imageio png (3 compression level): ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# imageio.imwrite('imageio/' + str(i) + '-level0.png', data.camera(), compress_level=0)
#after = time.perf_counter()
#print('imageio png (0 compression level): ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# io.imsave('skimage/' + str(i) + 'imageio.png', data.camera(), plugin='imageio')
#after = time.perf_counter()
#print('skimage png imageio plugin: ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# io.imsave('skimage/' + str(i) + 'imageio.png', data.camera(), plugin='imageio', compress_level=3)
#after = time.perf_counter()
#print('skimage png imageio plugin, compresslevel=3: ', after - before)
#
#
#before = time.perf_counter()
#for i in range(40):
# io.imsave('skimage/' + str(i) + 'pil.png', data.camera(), plugin='pil')
#after = time.perf_counter()
#print('skimage png pil plugin: ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# cv2.imwrite('cv2/' + str(i) + '.png', data.camera())
#after = time.perf_counter()
#print('cv2 png: ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# imageio.imwrite('imageio/' + str(i) + '.jpg', data.camera())
#after = time.perf_counter()
#print('imageio jpg: ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# cv2.imwrite('cv2/' + str(i) + '.jpg', data.camera())
#after = time.perf_counter()
#print('cv2 jpg: ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# io.imsave('skimage/' + str(i) + 'imageio.jpg', data.camera(), plugin='imageio')
#after = time.perf_counter()
#print('skimage jpg imageio plugin: ', after - before)
#
#before = time.perf_counter()
#for i in range(40):
# io.imsave('skimage/' + str(i) + 'pil.jpg', data.camera(), plugin='pil')
#after = time.perf_counter()
#print('skimage jpg pil plugin: ', after - before)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment