Это мой код, и ошибки указаны в нижней части
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import animation
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from skimage.color import rgb2gray
import scipy.misc
from matplotlib import cm
PATH = "G:/MS Studies/Thesis/3750400-1.jpg"
img = mpimg.imread(PATH)
gray_img = rgb2gray(img)
lena = scipy.misc.imresize(gray_img, 0.15, interp='cubic')
xx, yy = np.mgrid[0:lena.shape[0], 0:lena.shape[1]]
fig = plt.figure()
ax = Axes3D(fig)
def init():
ax.plot_surface(xx, yy, lena ,rstride=1, cstride=1, cmap=plt.cm.jet,
linewidth=0);
return fig
def animate(i):
ax.view_init(elev=10., azim=i*4)
return fig
ani = animation.FuncAnimation(fig, animate, init_func=init,
frames=90,interval=50, blit=True)
fn = 'rotate_azimuth_angle_3d_surf'
ani.save(fn+'.mp4',writer='ffmpeg',fps=1000/50)
ani.save(fn+'.gif',writer='imagemagick',fps=1000/50)
Две ошибки, которые я получаю:
File "C:\Users\user\Anaconda3\lib\site-packages\matplotlib\animation.py", line 581, in finish
self._frames[0].save(
IndexError: list index out of range
Traceback (most recent call last):
File "C:\Users\user\Anaconda3\lib\site-packages\matplotlib\cbook\__init__.py", line 215, in process
func(*args, **kwargs)
File "C:\Users\user\Anaconda3\lib\site-packages\matplotlib\animation.py", line 1282, in _handle_resize
self._init_draw()
File "C:\Users\user\Anaconda3\lib\site-packages\matplotlib\animation.py", line 1748, in _init_draw
for a in self._drawn_artists:
TypeError: 'Figure' object is not iterable