gpt4 book ai didi

python - 将图像转换为位图

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:04 25 4
gpt4 key购买 nike

我正在尝试为字母图像创建类似于位图的图像,但没有得到想要的结果。我开始处理图像已经有几天了。我试图读取图像,创建一个 numpy 数组并将内容保存在文件中。我写了下面的代码:

import numpy as np
from skimage import io
from skimage.transform import resize

image = io.imread(image_path, as_grey=True)
image = resize(image, (28, 28), mode='nearest')
array = np.array(image)
np.savetxt("file.txt", array, fmt="%d")

我正在尝试使用如下链接中的图像:

Letter "e"

我试图创建一个由 0 和 1 组成的数组。其中 0 代表白色像素,1 代表黑色像素。然后,当我将结果保存在文件中时,我可以看到字母格式。

谁能指导我如何得到这个结果?

谢谢。

最佳答案

检查这个:

from PIL import Image
import numpy as np

img = Image.open('road.jpg')
ary = np.array(img)

# Split the three channels
r,g,b = np.split(ary,3,axis=2)
r=r.reshape(-1)
g=r.reshape(-1)
b=r.reshape(-1)

# Standard RGB to grayscale
bitmap = list(map(lambda x: 0.299*x[0]+0.587*x[1]+0.114*x[2],
zip(r,g,b)))
bitmap = np.array(bitmap).reshape([ary.shape[0], ary.shape[1]])
bitmap = np.dot((bitmap > 128).astype(float),255)
im = Image.fromarray(bitmap.astype(np.uint8))
im.save('road.bmp')

该程序采用 rgb 图像并将其转换为 numpy 数组。然后它将它分成 3 个向量,每个 channel 一个。我使用颜色向量创建一个灰色向量。之后它用 128 比较元素,如果低于写入 0(黑色),否则为 255。下一步是 reshape 和保存。

road.jpg road.bmp

关于python - 将图像转换为位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46385999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com