2017-10-01 1 views
1

Ich verwende das scikit-Bild Histogramm von Gradients exampleSchwein() bekam ein unerwartetes Stichwort Argument ‚visualisieren‘

Der Beispielcode ist wie folgt:

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() 

Vereinfacht gesagt, funktioniert es nicht und meldet den folgenden Fehler:

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' 

ich kann den Astronauten Bild anzeigen, indem Sie den obigen Abschnitt zu kommentieren heraus, so dass nicht das Problem ist. Weiß jemand, warum es scheitert?

+0

Welche Version von 'scikit-image' verwenden Sie? –

+0

scikit-image == 0.13.0 – SeanJ

Antwort

4

Es ist ein sehr kleiner Fehler, aber die Schreibweise für Ihr Schlüsselwortargument visualize ist falsch. Es sollte

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

Weitere Informationen finden Sie unter here.

+0

Danke! Die sckit-image Website ist falsch. Für die Nachwelt: https://web.archive.org/web/20171001204310/http://scikit-image.org/docs/dev/auto_examples/features_detection/plot_hog.html – SeanJ

+3

Die Dokumente sind nicht falsch --- sie ' Sie sind nur für eine andere Version von skimage als Sie verwenden, wo das Problem behoben wurde. Das Argument hieß ursprünglich "visualise", ist jetzt "visualize", aber beide werden für die nächsten beiden Versionen akzeptiert, bis wir "visibleise" durch unseren Standard-Deprecation-Zyklus ablehnen können. –

Verwandte Themen