2015-03-05 1 views
0

J'ai beaucoup d'images en niveaux de gris de différentes tailles, dont la plupart ont un fond blanc. Je dois les redimensionner tous à une taille standard. Certains devront être réduits en taille, d'autres devront être augmentés en taille. Lorsque j'utilise skimage redimensionner pour réduire la taille de l'image originale, tout fonctionne bien. Quand la taille doit être augmentée, j'obtiens cette frontière grise-ish drôle. Comment peut-on empêcher cela?Le redimensionnement de skimage génère une bordure lors du redimensionnement à une image plus grande

from skimage.transform import resize 
from skimage import data 
import pylab as plt 

image = imread('https://github.com/scikit-image/scikit-image/blob/master/skimage/data/lenagray.png?raw=true', as_grey=True) 

#plot Lena 
plt.imshow(image,cmap=cm.gray) 

#replace top with white 
image[:20]=255 

#plot the top 30 pixels, all seems ok 
plt.imshow(image[:30,:30],cmap=cm.gray) 

enter image description here

#resize, increase the original size 
image2 = resize(image, (200, 200)) 

#plot the top pixels, a grayish border appears 
plt.imshow(image2[:60,:60],cmap=cm.gray) 

enter image description here

Répondre

2

Il semble que l'utilisation du mode = 'plus proche' prend soin.

image2 = resize(image, (200, 200),mode='nearest') 
+0

Tout mode d'extrapolation autre que la valeur constante zéro devrait aider. –