first commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import cv2
|
||||
import numpy
|
||||
import os
|
||||
|
||||
|
||||
def get_image_paths(directory):
|
||||
# return [x.path for x in os.scandir(directory) if x.name.endswith(".jpg") or x.name.endswith(".png")]
|
||||
return [x.path for x in os.scandir(directory) if x.name.endswith(".png")]
|
||||
|
||||
|
||||
def load_images(image_paths, convert=None):
|
||||
iter_all_images = (cv2.resize(cv2.imread(fn), (256, 256)) for fn in image_paths)
|
||||
if convert:
|
||||
iter_all_images = (convert(img) for img in iter_all_images)
|
||||
for i, image in enumerate(iter_all_images):
|
||||
if i == 0:
|
||||
all_images = numpy.empty((len(image_paths),) + image.shape, dtype=image.dtype)
|
||||
all_images[i] = image
|
||||
return all_images
|
||||
|
||||
|
||||
def get_transpose_axes(n):
|
||||
if n % 2 == 0:
|
||||
y_axes = list(range(1, n - 1, 2))
|
||||
x_axes = list(range(0, n - 1, 2))
|
||||
else:
|
||||
y_axes = list(range(0, n - 1, 2))
|
||||
x_axes = list(range(1, n - 1, 2))
|
||||
return y_axes, x_axes, [n - 1]
|
||||
|
||||
|
||||
def stack_images(images):
|
||||
images_shape = numpy.array(images.shape)
|
||||
new_axes = get_transpose_axes(len(images_shape))
|
||||
new_shape = [numpy.prod(images_shape[x]) for x in new_axes]
|
||||
return numpy.transpose(
|
||||
images,
|
||||
axes=numpy.concatenate(new_axes)
|
||||
).reshape(new_shape)
|
||||
|
||||
Reference in New Issue
Block a user