• Автор записи:
  • Рубрика записи:Scipy
  • Время чтения:5 минут чтения
  • Комментарии к записи:0 комментариев

В Python Scipy есть модуль scipy.ndimage для управления изображениями или выполнения операций обработки изображений, и этот модуль имеет несколько методов для решения задач обработки изображений.

Здесь мы воспользуемся одним из методов Rotate(), чтобы повернуть данное изображение на заданный угол.

Синтаксис метода scipy.ndimage.rotate() приведен ниже.

scipy.ndimage.rotate(input, angle, axes=(1, 0), reshape=True, output=None, mode='constant')

Вот наиболее распространенные параметры, которые используются с методом roatate().

  • input(array_data): это входной массив или изображение, которое мы хотим повернуть.
  • angular(float): используется для указания угла поворота, например 20 градусов или 90 градусов.
  • axes(два целых числа в кортежах): плоскость вращения определяется двумя осями.
  • output(тип данных или массив): определяет тип данных возвращаемого массива. По умолчанию тип данных возвращаемого массива совпадает с типом входного массива.
  • mode: используется для указания режимов «постоянный», «зеркало», «обертывание», «отражение», «ближайший».

Давайте разберемся на примере, выполнив следующие шаги:

  • Импортируйте необходимые библиотеки, такие как matplotlib и scipy, используя приведенный ниже код.
from matplotlib import image, pyplot
from scipy import ndimage
  • Загрузите изображение из каталога или из любого места, где оно существует на вашем компьютере, используя приведенный ниже код.
img = image.imread('luca_florio.jpg')

Здесь функция imread() модуля image считывает изображения в виде массива пикселей.

  • Просмотрите загруженное изображение, используя функцию imshow() модуля pyplot, как показано ниже.
pyplot.imshow(img)

Пример поворота Scipy ndimage

  • Давайте повернём загруженное выше изображение на некоторый угол, используя приведенный ниже код.
luca_florio_rotate = ndimage.rotate(img,120,mode='constant')

Здесь, в приведенном выше коде, мы используем функцию Rotate() модуля ndimage Python Scipy для поворота изображения.

Также укажите некоторые параметры, такие как изображение img, которое мы хотим повернуть, угол поворота 120 градусов и постоянный режим.

  • Теперь просмотрите изображение, повернутое на угол 120 градусов, используя приведенный ниже код.
pyplot.imshow(luca_florio_rotate)

Поворот изображения на угол 120 градусов

Посмотрите на приведенный выше вывод, как мы повернули изображение на угол 120 градусов.

Содержание

Порядок поворота на указанный угол

Здесь мы будем использовать тот же метод Rotate() для поворота данного изображения на указанный угол, который мы узнали в предыдущем подразделе.

Синтаксис:

scipy.ndimage.rotate(input, angle, axes=(1, 0), reshape=True, output=None, mode='constant')

Вот наиболее распространенные параметры, которые используются с методом roatate().

  • input(array_data): это входной массив или изображение, которое мы хотим повернуть.
  • angular(float): используется для указания угла поворота, например 20 градусов или 90 градусов.
  • axes(два целых числа в кортежах): плоскость вращения определяется двумя осями.
  • output(тип данных или массив): определяет тип данных возвращаемого массива. По умолчанию тип данных возвращаемого массива совпадает с типом входного массива.
  • mode: используется для указания режимов «постоянный», «зеркало», «обертывание», «отражение», «ближайший».

Давайте разберемся на примере, выполнив следующие шаги:

  • Импортируйте необходимые библиотеки, такие как matplotlib и scipy, используя приведенный ниже код.
from matplotlib import image, pyplot
from scipy import ndimage
  • Загрузите изображение из каталога или из любого места, где оно существует на вашем компьютере, используя приведенный ниже код.
img = image.imread('luca_florio.jpg')

Здесь функция imread() модуля image считывает изображения в виде массива пикселей.

  • Просмотрите загруженное изображение, используя функцию imshow() модуля pyplot, как показано ниже.
pyplot.imshow(img)

Пример порядка поворота Scipy ndimage

  • Поверните изображение по значению параметра порядка по умолчанию, используя приведенный ниже код.
mykhailo_rotate = ndimage.rotate(img,100,mode='constant')
pyplot.imshow(mykhailo_rotate)
  • Снова поверните то же изображение, указав значение параметра порядка 4, используя приведенный ниже код.
mykhailo_rotate = ndimage.rotate(img,100,mode='constant',order= 4)
pyplot.imshow(mykhailo_rotate)

Порядок поворота

Пример

Подмодуль Python Scipy scipy.ndimage имеет метод shift() для сдвига массива изображений с использованием сплайн-интерполяции.

Синтаксис приведен ниже.

scipy.ndimage.shift(input, shift, output=None mode='constant')

Где параметры:

  • input(array_data): это входной массив или изображение, которое мы хотим сдвинуть.
  • shift(последовательность или число с плавающей запятой): используется для указания положения(оси) для смещения изображения.
  • output(тип данных или массив): определяет тип данных возвращаемого массива. По умолчанию тип данных возвращаемого массива совпадает с типом входного массива.
  • mode: используется для указания режимов «постоянный», «зеркало», «обертывание», «отражение», «ближайший».

Давайте разберемся, как сместить изображение, выполнив следующие шаги:

  • Импортируйте необходимые библиотеки, такие как matplotlib и scipy, используя приведенный ниже код.
from matplotlib import image, pyplot
from scipy import ndimage
  • Загрузите изображение из каталога или из любого места, где оно существует на вашем компьютере, используя приведенный ниже код.
img = image.imread('thehouse.jpg')
pyplot.imshow(img)

Метод shift

  • Давайте переместим изображение в другое положение, используя метод shift().
thehouse_shift = ndimage.shift(img,(90,90,0),mode='nearest')

Здесь, в приведенном выше коде, мы используем функциюshift() модуля ndimage Python Scipy для смещения изображения. Также предоставляются некоторые параметры, такие как изображение img, которое мы хотим сдвинуть, положение x и y для смещения изображения с цветовым каналом как(90,90,0) и ближайший режим.

Теперь просмотрите смещенное изображение, используя приведенный ниже код.

pyplot.imshow(thehouse_shift)

Scipy Nimage сдвиг

Интерполяция, порядок поворота

В Python Scipy есть метод Rotate() в модуле scipy.ndimage.interpolation для поворота изображения на заданные градусы. Он вращает изображения, используя алгоритмы сплайн-интерполяции, алгоритмы сплайн-интерполяции помогают изменять размер или искажение изображения.

Здесь мы увидим эффект на изображение или предоставленный массив путем изменения порядка сплайн-интерполяции.

Синтаксис:

scipy.ndimage.interpolation.rotate(input, axes=(1, 0), angle, output=None, reshape=True, order=2, cval=0.0, mode='constant', prefilter=True)

Где параметры:

  • input(array_data): это входной массив или изображение, которое мы хотим повернуть.
  • angular(float): используется для указания угла поворота, например 20 градусов или 90 градусов.
  • reshape(boolean): если это правда, то форма корректируется в соответствии с входным массивом, в противном случае, в случае false, она не адаптируется в соответствии с входным массивом.
  • axes(два целых числа в кортежах): плоскость вращения определяется двумя осями.
  • order(int): используется для указания порядка сплайн-интерполяции.
  • output(тип данных или массив): определяет тип данных возвращаемого массива. По умолчанию тип данных возвращаемого массива совпадает с типом входного массива.
  • cval(скаляр): если для режима установлено значение константа, то эти значения используются на внешних границах предоставленного входного массива.
  • mode: используется для указания режимов «постоянный», «зеркало», «обертывание», «отражение», «ближайший».

Метод Rotate() возвращает повернутый массив входного массива.

Здесь мы возьмем пример, выполнив следующие шаги:

  • Импортируйте необходимые библиотеки, такие как matplotlib и scipy, используя приведенный ниже код.
from matplotlib import image, pyplot
from scipy import ndimage
  • Загрузите изображение из каталога или из любого места, где оно существует на вашем компьютере, используя приведенный ниже код.
img = image.imread('https://i0.wp.com/pythonguides.com/content/kevin.jpg')

Здесь функция imread() модуля image считывает изображения в виде массива пикселей.

  • Просмотрите загруженное изображение, используя функцию imshow() модуля pyplot, как показано ниже.
pyplot.imshow(img)

Пример порядка поворота интерполяции Scipy ndimage

  • Сначала поверните изображение с порядком по умолчанию, равным 3, используя приведенный ниже код.
kevin_rotate_order = rotate(img,60,mode='constant')
pyplot.imshow(kevin_rotate_order)
  • Теперь укажите новое значение 5 для порядка параметров и посмотрите эффект, используя приведенный ниже код.
kevin_rotate_ = rotate(img,60,mode='constant',order=5)
pyplot.imshow(kevin_rotate_)

Scipy ndimage, интерполяция, порядок поворота

Глядя на оба изображения, мы заметили небольшое изменение в повороте и размере изображения.

Вращение интерполяции оси вращения

Здесь мы будем использовать тот же метод Rotate(), который используется в Python Scipy модуля scipy.ndimage.interpolation, чтобы повернуть изображение на заданные градусы.

  • Импортируйте необходимые библиотеки matplotlib и scipy, используя приведенный ниже код.
from matplotlib import image, pyplot
from scipy import ndimage
  • Загрузите изображение из каталога или из любого места, где оно существует на вашем компьютере, используя приведенный ниже код.
img = image.imread('https://i0.wp.com/pythonguides.com/content/kevin.jpg')

Здесь функция imread() модуля image считывает изображения в виде массива пикселей.

  • Просмотрите загруженное изображение, используя функцию imshow() модуля pyplot, как показано ниже.
pyplot.imshow(img)

Пример вращения интерполяции Scipy ndimage по оси вращения

  • Поверните изображение выше на некоторый угол с осями по умолчанию, используя приведенный ниже код.
annie_rotate_axis = rotate(img,70,mode='constant')
pyplot.imshow(annie_rotate_axis)
  • Теперь поверните то же изображение на некоторый угол, изменив оси, используя приведенный ниже код.
annie_rotate_ = rotate(img,70,mode='constant',axes=(0,1))
pyplot.imshow(annie_rotate_)

Scipy ndimage вращает интерполяцию оси вращения

Добавить комментарий