59
задан 6 January 2018 в 01:03

1 ответ

Если кто-либо приехал, сюда ища простой метод масштабировать/изменять размер изображение в Python, не пользуясь дополнительными библиотеками, вот очень простое изображение, изменяют размер функции:

#simple image scaling to (nR x nC) size
def scale(im, nR, nC):
  nR0 = len(im)     # source number of rows 
  nC0 = len(im[0])  # source number of columns 
  return [[ im[int(nR0 * r / nR)][int(nC0 * c / nC)]  
             for c in range(nC)] for r in range(nR)]

использование В качестве примера: изменение размеров (30 x 30) отображает к (100 x 200):

import matplotlib.pyplot as plt

def sqr(x):
  return x*x

def f(r, c, nR, nC):
  return 1.0 if sqr(c - nC/2) + sqr(r - nR/2) < sqr(nC/4) else 0.0

# a red circle on a canvas of size (nR x nC)
def circ(nR, nC):
  return [[ [f(r, c, nR, nC), 0, 0] 
             for c in range(nC)] for r in range(nR)]

plt.imshow(scale(circ(30, 30), 100, 200))

Вывод: scaled image

Это работает для уменьшения/масштабирования изображений и хорошо работает с массивами numpy.

0
ответ дан 1 November 2019 в 12:03

Другие вопросы по тегам:

Похожие вопросы: