Implement #969 ([comiclrf] Add despeckle option)

This commit is contained in:
Kovid Goyal 2008-08-19 14:15:24 -07:00
parent 5137e4f176
commit 2e46875009
3 changed files with 16 additions and 2 deletions

View File

@ -27,7 +27,7 @@ try:
MagickGetImageHeight, \
MagickResizeImage, MagickSetImageType, \
GrayscaleType, CatromFilter, MagickSetImagePage, \
MagickBorderImage, MagickSharpenImage, \
MagickBorderImage, MagickSharpenImage, MagickDespeckleImage, \
MagickQuantizeImage, RGBColorspace, \
MagickWriteImage, DestroyPixelWand, \
DestroyMagickWand, CloneMagickWand, \
@ -179,6 +179,10 @@ class PageProcessor(list):
MagickSharpenImage(wand, 0.0, 1.0)
MagickSetImageType(wand, GrayscaleType)
if self.opts.despeckle:
MagickDespeckleImage(wand)
MagickQuantizeImage(wand, self.opts.colors, RGBColorspace, 0, 1, 0)
dest = '%d_%d.png'%(self.num, i)
dest = os.path.join(self.dest, dest)
@ -250,6 +254,8 @@ def config(defaults=None):
help=_("Don't split landscape images into two portrait images"))
c.add_opt('right2left', ['--right2left'], default=False, action='store_true',
help=_('Used for right-to-left publications like manga. Causes landscape pages to be split into portrait pages from right to left.'))
c.add_opt('despeckle', ['-d', '--despeckle'], default=False,
help=_('Enable Despeckle. Reduces speckle noise. May greatly increase processing time.'))
c.add_opt('no_sort', ['--no-sort'], default=False,
help=_("Don't sort the files found in the comic alphabetically by name. Instead use the order they were added to the comic."))
c.add_opt('profile', ['-p', '--profile'], default='prs500', choices=PROFILES.keys(),

View File

@ -57,6 +57,7 @@ class ComicConf(QDialog, Ui_Dialog):
self.opt_dont_sharpen.setChecked(opts.dont_sharpen)
self.opt_landscape.setChecked(opts.landscape)
self.opt_no_sort.setChecked(opts.no_sort)
self.opt_despeckle.setChecked(opts.despeckle)
self.opt_right2left.setChecked(opts.right2left)
for opt in self.config.option_set.preferences:

View File

@ -114,7 +114,7 @@
</property>
</widget>
</item>
<item row="10" column="1" >
<item row="11" column="1" >
<widget class="QDialogButtonBox" name="buttonBox" >
<property name="orientation" >
<enum>Qt::Horizontal</enum>
@ -131,6 +131,13 @@
</property>
</widget>
</item>
<item row="10" column="0" >
<widget class="QCheckBox" name="opt_despeckle" >
<property name="text" >
<string>De&amp;speckle</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources>