2017-10-01 8 views
1

Je courais le Histogramme de Dégradés exampleporc() a un argument mot-clé inattendu « visualiser »

Le code exemple scikit image est la suivante:

import matplotlib.pyplot as plt 

from skimage.feature import hog 
from skimage import data, color, exposure 


image = color.rgb2gray(data.astronaut()) 

fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16), 
        cells_per_block=(1, 1), visualize=True) 

fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4), sharex=True, sharey=True) 

ax1.axis('off') 
ax1.imshow(image, cmap=plt.cm.gray) 
ax1.set_title('Input image') 
ax1.set_adjustable('box-forced') 

# Rescale histogram for better display 
hog_image_rescaled = exposure.rescale_intensity(hog_image, in_range=(0, 0.02)) 

ax2.axis('off') 
ax2.imshow(hog_image_rescaled, cmap=plt.cm.gray) 
ax2.set_title('Histogram of Oriented Gradients') 
ax1.set_adjustable('box-forced') 
plt.show() 

Plus simplement, cela ne fonctionne pas et signale l'erreur suivante:

fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16), cells_per_block=(1, 1), visualize=True) 
TypeError: hog() got an unexpected keyword argument 'visualize' 

Je peux visualiser l'image d'astronaute en commentant la section ci-dessus, de sorte que ce n'est pas le problème. Est-ce que quelqu'un sait pourquoi il échoue?

+0

Quelle version de 'scikit-image' utilisez-vous? –

+0

scikit-image == 0.13.0 – SeanJ

Répondre

4

C'est une très petite erreur mais l'orthographe de votre argument mot-clé visualize est erronée. Il doit être

fd, hog_image = hog(image, orientations=8, pixels_per_cell=(16, 16), 
       cells_per_block=(1, 1), visualise=True) 

Référez-vous à here pour plus d'informations.

+0

Merci! Le site Web sckit-image est erroné. Pour la postérité: https://web.archive.org/web/20171001204310/http://scikit-image.org/docs/dev/auto_examples/features_detection/plot_hog.html – SeanJ

+3

Les docs ne se trompent pas --- ils ' re juste pour une version différente de skimage que vous utilisez, où le problème a été résolu. L'argument était à l'origine nommé 'visualise', est maintenant' visualize', mais les deux sont acceptés pour les deux versions suivantes jusqu'à ce que nous puissions déprécier 'visualise' à travers notre cycle de dépréciation standard. –