#python #numpy #ipython #imshow
#python #numpy #ipython #imshow
Вопрос:
Я пытаюсь отобразить, используя imshow (), только средние сотни строк изображения, которые у меня есть. Мне было интересно, есть ли какие-либо команды numpy, которые могут нарезать только средние сотни строк массива моего изображения. Если нет, могу ли я использовать некоторые изменения в самом imshow(), чтобы иметь возможность выбирать и показывать только средние сотни строк?
Ответ №1:
То, что вы ищете, это :
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()
Результат:
Комментарии:
1. Спасибо, это было полезно!