2016-06-27 2 views
-2

Я запутался во всех разных типах python. Я написал алгоритм распознавания лиц в MATLAB, я хочу его переделать на Python. Я застреваю, пытаясь изменить размеры моих изображений. Как мне это сделать? Может ли кто-нибудь связать меня с вещами, которые мне нужно прочитать, чтобы понять разницу в функциях между MATLAB в Python? Как MATLAB получил imresize, но Python получил что?Python Как изменить размер изображений?

Есть ли что-то вроде импорта all_matlab_functions, чтобы я мог писать python в языке matlab?

Я не могу поверить, что я так стараюсь. Помогите! Мой нижеприведенный код показывает, насколько я тупой с python.

%matplotlib inline 

import matplotlib.image as mpimg 
import glob 

import matplotlib.pyplot as plt 

image_list = [] 
for filename in glob.glob('<directory>.pgm'): 
    im = mpimg.imread(filename) 
    image_list.append(im) # read all image 

from PIL import Image 
haha = image_list[1].resize((10 10), resample=0) # try to resize image BUT FAIL 
+2

Это не то, как работает python. Это не от 1 до 1 matlab от чего-то другого. Матлаб - это одно, а питон - это совсем другое дело. Просто случается так, что язык был разработан, они имеют сходство. Но если вы хотите что-то сделать в python, не смотрите, как это сделать в matlab и переводите, найдите его, как это сделать в python. –

+0

Связанные: http://stackoverflow.com/questions/273946/how-do-i-resize-an-image-using-pil-and-maintain-its-aspect-ratio –

+0

Вы задаете несколько разных вопросов, ни один из которые по теме. Пожалуйста, объясните, что именно вы пытаетесь сделать, что вы сделали и каким образом оно не работает. Кроме того, IPython - это просто интерфейс для языка Python, код написан на языке Python. – TheBlackCat

ответ

0

с помощью интерпретатора кварты-консоли jupyter или jupyter ноутбук можно установить интерпретатор среды магии% pylab инлайн так, что изображения будут отображаться инлайн и пространство имен matplotlib.pylab и Numpy пространства имен будут импортированы в поток Пространство имен. Все это означает, однако, что вам не нужно префиксные команды с помощью matplotlib.pylab.plot или plt.plot, например. Вы можете просто использовать plot().

%pylab inline 
x = linsapce(1,2*pi,100) 
y = sin(x) 
plot(x,y) 

Matplotlib предназначен, чтобы дать хорошие инструменты для черчения, которые внешне похожи на MatLab черчения, NumPy для массивов и математики, и SciPy дает вам инструменты для более сложных функций. Например, scipy.misc.imresize может делать то, что вы ищете:

http://docs.scipy.org/doc/scipy-0.13.0/reference/generated/scipy.misc.imresize.html

Если вы ищете прямой путь для запуска ваших программ MatLab вне MATLAB, вы можете попробовать октаву вместо этого.

https://www.gnu.org/software/octave/

Смежные вопросы