Python - чтение изображения с URL-адреса для изменения размера и преобразования изображения в оттенки серого - PullRequest
0 голосов
/ 01 сентября 2018

Я хочу прочитать изображение из URL, чтобы изменить его размер и преобразовать его в оттенки серого. Я видел несколько примеров из stackoverflow, и я попробовал их. Тем не менее, он никогда не преобразует изображение в оттенки серого в моем случае. Я не уверен, что здесь пошло не так. Это то, что я пытался.

import matplotlib.pyplot as plt
from skimage.transform import resize
import numpy as np 
from skimage import io, color

# try 1
img1 = io.imread("https://prasadpamidi.github.io/images/image2.jpg", as_grey=True)
img1 = (img1 - 255.0) / 255
img1 = resize(img1, (32, 32))


# try 2
img1 = io.imread("https://prasadpamidi.github.io/images/image2.jpg")
img1 = img1.dot([0.07, 0.72, 0.21])
img1 = (img1 - 255.0) / 255
img1 = resize(img1, (32, 32))

# try 3
img1 = color.rgb2gray(io.imread("https://prasadpamidi.github.io/images/image2.jpg"))
img1 = (img1 - 255.0) / 255
img1 = resize(img1, (32, 32))

# print images
plt.figure(figsize=(5,5))
plt.imshow(img1)
plt.show()

Результат более или менее аналогичен приведенному ниже. Итак, я хотел бы знать, что я пропустил. Любые предложения будут оценены.

enter image description here

1 Ответ

0 голосов
/ 01 сентября 2018

Попробуйте этот код:

from skimage.io import imread, imshow
from skimage.transform import resize
from skimage.util import img_as_ubyte

url = "https://prasadpamidi.github.io/images/image2.jpg"
img1 = imread(url, as_gray=True)
img2 = resize(img1, (32, 32))
img3 = img_as_ubyte(img2)
imshow(img3)

Выход:

grayscale image

Я прилагаю скриншот проводника переменных, чтобы показать вам, что переменные имеют правильную форму и тип.

screenshot of variable explorer

...