Как уменьшить размер изображения при обработке изображений (scipy / numpy/python)
Привет у меня есть изображение ( 1024 x 1024), и я использовал команду "fromfile" в numpy, чтобы поместить каждый пиксель этого изображения в матрицу.
Как уменьшить размер изображения ( например. к 512 x 512) путем изменения этой матрицы a?
a = numpy.fromfile(( - path - ,'uint8').reshape((1024,1024))
Я понятия не имею, как изменить матрицу a, чтобы уменьшить размер изображения. Поэтому, если у кого-то есть идея, пожалуйста, поделитесь своими знаниями, и я буду признателен. Спасибо
изменить:
когда я смотрю на в результате я обнаружил, что читатель прочитал изображение и поместил его в"матрицу". Поэтому я изменил "массив" на matrix.
Хосе сказал мне, что я могу взять только четный столбец и четную строку и поместить их в новую матрицу . Это уменьшит изображение до половины. Какую команду в scipy / numpy мне нужно использовать для этого?
спасибо
3 ответов
Я думаю, что самый простой способ-взять только некоторые столбцы и некоторые строки изображения. Создание образца массива. Возьмите, например, только те четные строки и четные столбцы, поместите их в новый массив, и у вас будет новое изображение размером в половину размера.
Если вы хотите изменить размер до определенного разрешения, используйте scipy.разное.imresize:
import scipy.misc
i_width = 640
i_height = 480
scipy.misc.imresize(original_image, (i_height, i_width))
используйте функцию масштабирования из scipy:
http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.zoom.html#scipy.ndimage.zoom
from scipy.ndimage.interpolation import zoom
a = np.ones((1024, 1024))
small_a = zoom(a, 0.5)