2013-10-03 11 views
5

में एक छवि घुमाएं मैं Matplotlib (एक पीएनजी से आयातित) में 2 डी छवि प्लॉट करने और मनमाने ढंग से कोणों से घूमने की कोशिश कर रहा हूं। मैं समय के साथ किसी वस्तु के घूर्णन को दिखाते हुए एक साधारण एनीमेशन बनाना चाहता हूं, लेकिन अभी के लिए मैं बस छवि को घुमाने की कोशिश कर रहा हूं। मुझे कोई सफलता के साथ निम्नलिखित कोड पर कई रूप की कोशिश की है:Matplotlib

import matplotlib.pyplot as plt 
import matplotlib.transforms as tr 
import matplotlib.cbook as cbook 

image_file = cbook.get_sample_data('ada.png') 
image = plt.imread(image_file) 

imAx = plt.imshow(image) 
rot = tr.Affine2D().rotate_deg(30) 
imAx.set_transform(imAx.get_transform()+rot) 

plt.axis('off') # clear x- and y-axes 
plt.show() 

मुझे यकीन है कि मैं कुछ याद कर रहा हूँ, लेकिन मैं matplotlib डॉक्स और उदाहरणों से यह पता लगाने की नहीं कर पाए हैं।

धन्यवाद!

उत्तर

7

this कोड पर एक नज़र डालें:

import scipy 
from scipy import ndimage 
import matplotlib.pyplot as plt 
import numpy as np 

lena = scipy.misc.lena() 
lx, ly = lena.shape 
# Copping 
crop_lena = lena[lx/4:-lx/4, ly/4:-ly/4] 
# up <-> down flip 
flip_ud_lena = np.flipud(lena) 
# rotation 
rotate_lena = ndimage.rotate(lena, 45) 
rotate_lena_noreshape = ndimage.rotate(lena, 45, reshape=False) 

plt.figure(figsize=(12.5, 2.5)) 


plt.subplot(151) 
plt.imshow(lena, cmap=plt.cm.gray) 
plt.axis('off') 
plt.subplot(152) 
plt.imshow(crop_lena, cmap=plt.cm.gray) 
plt.axis('off') 
plt.subplot(153) 
plt.imshow(flip_ud_lena, cmap=plt.cm.gray) 
plt.axis('off') 
plt.subplot(154) 
plt.imshow(rotate_lena, cmap=plt.cm.gray) 
plt.axis('off') 
plt.subplot(155) 
plt.imshow(rotate_lena_noreshape, cmap=plt.cm.gray) 
plt.axis('off') 

plt.subplots_adjust(wspace=0.02, hspace=0.3, top=1, bottom=0.1, left=0, 
        right=1) 

plt.show() 
+0

ndimage.rotate तरह लग रहा है() क्या मैं के बाद किया गया है। धन्यवाद! – user2844064