2011-02-06 5 views
1

im.load()을 사용하여 ORIGINAL_IMAGE의 픽셀을 얻습니다.PIL python의 im.save에 대한 쿼리

이 내 문제를 강조하는 코드 및 출력 - - 그 후, 나는 어떤 저장하는 것은 내가 저장 원하는 것을 다른 것을 볼

저장

발췌문 :

을 저장 한 후 : - 인쇄의
im = Image.open(ORIGINAL_IMAGE) 
dup_im = im.copy() 
pix = dup_im.load() 
dup_im.save(DUP_IMAGE) 
saved_im = Image.open(DUP_IMAGE) 
saved_pix = saved_im.load() 

for i in range(10): 
     print pix[0, i], " : ", saved_pix[0, i] 

출력

저장하기 전에 내 파이썬 버전에 대한개

$ python test.py 
162 : 162 
162 : 162 
162 : 163 
162 : 163 
162 : 163 
164 : 162 
160 : 161 
159 : 160 
155 : 153 
155 : 155 
$ 

세부 사항 - (전 저장 한 후 픽셀) 두 필드가 동일하지 왜

$ python 
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin 

어떤 생각?

답변

6

JPG를로드하고 JPG로 다시 저장할 때이를 다시 만들 수 있습니다. 비트 맵으로 저장할 때 픽셀 데이터는 동일합니다. JPG는 손실이 많은 이미지 형식이므로 저장하면 다시 인코딩되어 픽셀 데이터가 변경됩니다.

+0

감사합니다 :) BMP를 사용했습니다 – sril

+0

호기심 때문에 왜 이미지를 읽고 나중에 변경하지 않고 저장 하시겠습니까? –