Я хочу изменить размер изображения без потери исходного качества. например, у меня есть 10 множественных разных размеров на белом фоне. Я хочу сделать их одного размера 50*50. чтобы символы оставались на одном месте и добавляли дополнительный белый пиксель снаружи. Я использую
cv2.resize(template[1], (25, 45), 255)
, но мой символ разлетелся. Я не хочу терять качество. Я также видел этот пост квадратное соотношение сторон в Python, OpenCv, но не нашел подходящего
изменить размер изображения без изменения внутренней формы изображения
Ответы (1)
вот хорошая справочная ссылка для этой проблемы и использования модуля, о котором я публикую.
https://pypi.python.org/pypi/python-resize-image
но синтаксис, который вы ищете, выглядит следующим образом:
resize_contain
это изменит размер изображения так, чтобы оно могло поместиться в указанной области, сохраняя соотношение и без обрезки (то же поведение, что и background-size: contains).
пример синтаксиса:
resize_contain(image, size, validate=True)
Измените размер изображения, чтобы оно помещалось в указанную область, сохраняя пропорции и не обрезая. Это то же поведение, что и свойство css background-size: contains. Создается белая граница фона.
Измените размер изображения до минимального, чтобы оно помещалось в прямоугольник размером 200x100 — это соотношение между исходным и целевым изображением.
from PIL import Image
from resizeimage import resizeimage
fd_img = open('test-image.jpeg', 'r')
img = Image.open(fd_img)
img = resizeimage.resize_contain(img, [200, 100])
img.save('test-image-contain.jpeg', img.format)
fd_img.close()
person
Nicholas Shaffer
schedule
19.10.2017
Я хочу сделать это через python.
- person afaq; 20.10.2017
пожалуйста, дайте мне немного времени, чтобы изучить этот вопрос, и я опубликую снова
- person Nicholas Shaffer; 20.10.2017
если вы никогда не использовали PIP, вам нужно будет установить этот модуль для python с использованием PIP, а простой справочник по использованию PIP можно найти здесь... packaging.python.org/tutorials/installing-packages
- person Nicholas Shaffer; 20.10.2017