0
Image.open ("image.tif")을 사용하여 이미지 파일을로드하고 있습니다. 그런 다음 Image.load()를 사용하여 이미지의 pixelMap을 생성합니다. 그럼 내가 배열에 각 픽셀을 저장합니다. 다음 코드는이 프로세스를 설명합니다. 그런 다음 각 픽셀의 ascii 값을 만들어 문자열에 저장하려고합니다. 그래서 내 픽셀 배열의 각 픽셀을 통과 한 다음 픽셀 값을 ascii 값으로 변경합니다. 그러나 250보다 큰 픽셀 값을 얻고 있기 때문에 오류가 발생합니다. 어떻게 가능합니까? 또한 흑백 이미지입니다. 내가 도대체 뭘 잘못하고있는 겁니까?Python Image.load()가 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)))
* '오류가 있습니다'* 무엇입니까? 어떤 정확한 오류 메시지가 나타 납니까? – aruisdante
또한''load''에 의해 반환 된 픽셀 값 유형은 이미지 유형에 따라 다릅니다. 예를 들어 GIF는 팔레트 색인 값을 반환합니다. 여기서 JPEG은 R, G, B 튜플을 반환합니다. – aruisdante
unichr 값이 128을 초과하는 오류가 발생합니다. 코드를 self.mesasge + = str (chr (int (i)))으로 변경했습니다. – user2130331