2016-10-20 4 views
0

Я пытаюсь построить с использованием imshow() только сотню строк изображения, которое у меня есть. Мне было интересно, есть ли какие-нибудь команды numpy, которые могут срезать только сотню строк массива моего изображения. Если нет, могу ли я использовать некоторую вариацию на imshow(), чтобы иметь возможность выбирать и показывать только сотню строк?iPython imshow() или numring row selection

ответ

0

То, что вы ищете:

pic[np.shape(pic)[0]/2-50:np.shape(pic)[0]/2+50,np.shape(pic)[1]/2-50:np.shape(pic)[1]/2+50] 

пример кода:

import numpy as np 
import matplotlib.pyplot as plt 

pic = np.random.rand(300,300) 
fig1 = plt.figure() 
fig1.suptitle('Full image') 
plt.imshow(pic) 
cropped = pic[np.shape(pic)[0]/2-50:np.shape(pic)[0]/2+50,np.shape(pic)[1]/2-50:np.shape(pic)[1]/2+50] 
fig2 = plt.figure() 
fig2.suptitle('middle 100 rows and column cropped') 
plt.imshow(cropped) 
plt.show() 

Результат:

enter image description here enter image description here

+0

Спасибо, это было полезно! – Ferreroire