Skip to content

Instantly share code, notes, and snippets.

@sabopy
Last active January 2, 2020 14:38
import numpy as np
import matplotlib.pyplot as plt
from skimage.transform import pyramid_gaussian
from skimage.transform import rescale
from skimage.util import img_as_ubyte
image = plt.imread('komachi.jpg')
pyramid = tuple(pyramid_gaussian(image, downscale=2, multichannel=True))
fig, axes = plt.subplots(2, 5, figsize=(16,7))
ax = axes.flatten()
for i in range(len(pyramid)-1):
ax[i].imshow(pyramid[i])
x,y,z = pyramid[i].shape
ax[i].set_title(''+str(x)+'*'+str(y)+'', fontsize=15)
plt.savefig('komacchi_pyramid.jpg',dpi=50)
plt.show()
image_rescaled_5 = rescale(pyramid[5], 2**5, order=1,anti_aliasing=False)
image_rescaled_5 = img_as_ubyte(image_rescaled_5)
im5 = image.copy()
im5[100:800,300:730,:] = image_rescaled_5[100:800,300:730,:]
fig, axes = plt.subplots(1, 3, figsize=(10,3.4))
ax = axes.flatten()
ims = [image, image_rescaled_5,im5]
title = ['Original','Low dpi', 'Mix']
for i in range(3):
ax[i].imshow(ims[i])
ax[i].set_title(title[i])
ax[i].axis('off')
plt.savefig('komacchi_bokashimix.jpg',dpi=150)
plt.show()
image_rescaled_4 = rescale(pyramid[4], 2**4, order=1,anti_aliasing=False)
image_rescaled_4 = img_as_ubyte(image_rescaled_4)
image_rescaled_6 = rescale(pyramid[6], 2**6, order=1,anti_aliasing=False)
image_rescaled_6 = img_as_ubyte(image_rescaled_6)
im4 = image.copy()
im4[100:800,300:730,:] = image_rescaled_4[100:800,300:730,:]
im6 = image.copy()
im6[100:800,300:730,:] = image_rescaled_6[100:800,300:730,:]
fig, axes = plt.subplots(2, 2, figsize=(8,8))
ax = axes.flatten()
ims = [image, im4,im5,im6]
title = ['Original','弱', '中', '強']
for i in range(4):
ax[i].imshow(ims[i])
ax[i].set_title(title[i])
ax[i].axis('off')
plt.savefig('komacchi_bokashis.jpg',dpi=120)
plt.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment