I’m using the following code in order to upscale an image.
import matplotlib.pyplot as plt
import numpy as np
from skimage.transform import rescale, resize
image = np.array(
[[[51, 153, 255],
[224, 224, 224],
[224, 224, 224],
[224, 224, 224]],
[[224, 224, 224],
[224, 224, 224],
[224, 224, 224],
[224, 224, 224]],
[[224, 224, 224],
[224, 224, 224],
[224, 224, 224],
[224, 224, 224]],
[[224, 224, 224],
[224, 224, 224],
[224, 224, 224],
[51, 255, 51]]]
)
# image2 = rescale(image, 40.0, anti_aliasing=True, multichannel=True).astype(np.int) # produces a black image
image2 = rescale(image, 40.0, anti_aliasing=True, multichannel=True) # produces a black image
# image2 = resize(image, (255, 255, 3)) # produces a black image
print(image2)
plt.imshow(image)
plt.show()
plt.imshow(image2)
plt.show()
However, this is not working as expected, as image2 becomes black. I really want to produce a new array, because I will be saving this array as an image to the file system. Specifically, I will create a gif animation from the upscaled version of these arrays. However, I want to create an upscaled version that is not blurry, but like the original, as you can see when you imshow(image) above, i.e.
I guess I am using the API incorrectly and, meanwhile, maybe I will figure out the right way of doing what I want.
