python-3.x - Python - 从 URL 读取图像以调整图像大小并将图像转换为灰度

标签 python-3.x numpy matplotlib scikit-image

我想从 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

最佳答案

尝试一下这段代码:

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

关于python-3.x - Python - 从 URL 读取图像以调整图像大小并将图像转换为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52126936/

相关文章:

python-3.x - 将 24 位音频转换为 16 位音频的最佳库或方法是什么?

python - 如何从另一个Python例程调用一个Python例程?

python - asfortranarray 中的运行时警告

python - 如何使用 pyplot 在相同的 x 轴(日期时间)但不同的 y 轴上绘制折线图和条形图?

python - seaborn plot_marginals 多个 kdeplots

python - 如何在 python 3.5 中以毫秒而不是微秒获取日期时间的 ISO8601 字符串

python - 用 Anaconda 安装了一个包,无法在 Python 中导入

python - Scipy mmread 用于矩阵数组实数通用

python - 在 Python 中获取 Killed 消息——内存是问题吗?

python - 用matplotlib区分单击和双击