Чтение изображений в python

Я пытаюсь прочитать изображение png в Python. Функция imread в scipy устарела, и они рекомендуют использовать библиотеку imageio.

Однако я бы предпочел ограничить использование внешних библиотек библиотеками scipy, numpy и matplotlib. Таким образом, использование imageio или scikit image не является хорошим вариантом для меня.

Существуют ли в python или scipy, numpy или matplotlib для чтения изображений, которые не считаются устаревшими?

Ответ 1

С matplotlib вы можете использовать (как показано в документации по matplotlib)

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

img=mpimg.imread('image_name.png')

И нанесите изображение, если хотите

imgplot = plt.imshow(img)

Ответ 2

Вы также можете использовать подушку следующим образом:

from PIL import Image
image = Image.open("image_path.jpg")
image.show()

Ответ 3

Для лучшего ответа вы можете использовать эти строки кода. Вот пример, который может вам помочь:

image = cv2.imread('/home/pictures/1.jpg')
plt.imshow(image)
plt.show()

В imread() вы можете передать каталог. Также вы можете использовать str() и + для объединения динамических каталогов и фиксированного каталога следующим образом:

path = '/home/pictures/'
for i in range(2) :
    image = cv2.imread(str(path)+'1.jpg')
    plt.imshow(image)
    plt.show()

Оба одинаковы.

Ответ 4

Если вы просто хотите прочитать изображение на Python, используя только указанные библиотеки, я поеду с matplotlib

В matplotlib:

import matplotlib.image
read_img = matplotlib.image.imread('your_image.png')

Ответ 5

import matplotlib.pyplot as plt
image = plt.imread('images/my_image4.jpg')
plt.imshow(image)

Использование 'matplotlib.pyplot.imread' рекомендуется с помощью предупреждающих сообщений в jupyter.

Ответ 6

Из документации:

Matplotlib может читать только PNG. Другие форматы изображений поддерживаются через необязательную зависимость от Pillow.

Так что в случае PNG мы можем использовать plt.imread(). В других случаях, вероятно, лучше использовать Pillow напрямую.