mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Implement #969 ([comiclrf] Add despeckle option)
This commit is contained in:
parent
5137e4f176
commit
2e46875009
@ -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(),
|
||||
|
@ -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:
|
||||
|
@ -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&speckle</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user