1
0
mirror of https://github.com/ciromattia/kcc synced 2026-01-20 20:25:43 +00:00

save dithered images as PNG, and linearize (inverse gamma) before dithering

This commit is contained in:
Frédéric Devernay
2013-03-05 17:56:43 +01:00
parent 074e31cb2e
commit 751e6eb4e7
3 changed files with 21 additions and 6 deletions

View File

@@ -115,12 +115,15 @@ class ComicPage:
filename = os.path.basename(self.origFileName)
try:
self.image = self.image.convert('L') # convert to grayscale
self.image.save(os.path.join(targetdir, filename), "JPEG")
os.remove(os.path.join(targetdir,filename)) # remove original file, copied by copytree() in comic2ebook.py
# self.image.save(os.path.join(targetdir, filename), "JPEG")
self.image.save(os.path.join(targetdir, os.path.splitext(filename)[0] + ".png"), "PNG") # quantized images don't like JPEG
except IOError as e:
raise RuntimeError('Cannot write image in directory %s: %s' % (targetdir, e))
def optimizeImage(self):
self.image = ImageOps.autocontrast(self.image)
def optimizeImage(self, gamma):
self.image = ImageOps.autocontrast(Image.eval(self.image, lambda a: 255*(a/255.)**gamma))
# self.image = ImageOps.autocontrast(self.image)
def quantizeImage(self):
colors = len(self.palette) / 3