我正在使用Image.open加载我的图像文件(" image.tif")。然后我使用Image.load()生成图像的pixelMap。然后我将每个像素存储到一个数组中。以下代码描述了此过程。然后我想创建每个像素的ascii值并将其存储在一个字符串中。所以我遍历像素数组中的每个像素,然后将像素值更改为ascii值。但是我遇到了错误,因为我得到的像素值大于250.这怎么可能。此外,它是黑白图像。我做错了什么?
self.filename = filename
self.im = Image.open(filename)
self.pixelmap = self.im.load() #Loads the image as a map of pixels
self.arr = []
for i in range(self.im.size[0]):
for j in range(self.im.size[1]):
mypixel = self.pixelmap[i, j]
self.arr.append(mypixel)
for i in msgFile.arr:
self.message += str(unichr(int(i)))
答案 0 :(得分:0)
这样的事情?
from PIL import Image
import numpy as np
image = np.asarray(Image.open('image.jpg'))
_y, _x, _z = image.shape
str_array = [str(image[y][x]) for y in range(_y) for x in range(_x)]