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, \
|
MagickGetImageHeight, \
|
||||||
MagickResizeImage, MagickSetImageType, \
|
MagickResizeImage, MagickSetImageType, \
|
||||||
GrayscaleType, CatromFilter, MagickSetImagePage, \
|
GrayscaleType, CatromFilter, MagickSetImagePage, \
|
||||||
MagickBorderImage, MagickSharpenImage, \
|
MagickBorderImage, MagickSharpenImage, MagickDespeckleImage, \
|
||||||
MagickQuantizeImage, RGBColorspace, \
|
MagickQuantizeImage, RGBColorspace, \
|
||||||
MagickWriteImage, DestroyPixelWand, \
|
MagickWriteImage, DestroyPixelWand, \
|
||||||
DestroyMagickWand, CloneMagickWand, \
|
DestroyMagickWand, CloneMagickWand, \
|
||||||
@ -179,6 +179,10 @@ class PageProcessor(list):
|
|||||||
MagickSharpenImage(wand, 0.0, 1.0)
|
MagickSharpenImage(wand, 0.0, 1.0)
|
||||||
|
|
||||||
MagickSetImageType(wand, GrayscaleType)
|
MagickSetImageType(wand, GrayscaleType)
|
||||||
|
|
||||||
|
if self.opts.despeckle:
|
||||||
|
MagickDespeckleImage(wand)
|
||||||
|
|
||||||
MagickQuantizeImage(wand, self.opts.colors, RGBColorspace, 0, 1, 0)
|
MagickQuantizeImage(wand, self.opts.colors, RGBColorspace, 0, 1, 0)
|
||||||
dest = '%d_%d.png'%(self.num, i)
|
dest = '%d_%d.png'%(self.num, i)
|
||||||
dest = os.path.join(self.dest, dest)
|
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"))
|
help=_("Don't split landscape images into two portrait images"))
|
||||||
c.add_opt('right2left', ['--right2left'], default=False, action='store_true',
|
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.'))
|
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,
|
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."))
|
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(),
|
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_dont_sharpen.setChecked(opts.dont_sharpen)
|
||||||
self.opt_landscape.setChecked(opts.landscape)
|
self.opt_landscape.setChecked(opts.landscape)
|
||||||
self.opt_no_sort.setChecked(opts.no_sort)
|
self.opt_no_sort.setChecked(opts.no_sort)
|
||||||
|
self.opt_despeckle.setChecked(opts.despeckle)
|
||||||
self.opt_right2left.setChecked(opts.right2left)
|
self.opt_right2left.setChecked(opts.right2left)
|
||||||
|
|
||||||
for opt in self.config.option_set.preferences:
|
for opt in self.config.option_set.preferences:
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="10" column="1" >
|
<item row="11" column="1" >
|
||||||
<widget class="QDialogButtonBox" name="buttonBox" >
|
<widget class="QDialogButtonBox" name="buttonBox" >
|
||||||
<property name="orientation" >
|
<property name="orientation" >
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
@ -131,6 +131,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="10" column="0" >
|
||||||
|
<widget class="QCheckBox" name="opt_despeckle" >
|
||||||
|
<property name="text" >
|
||||||
|
<string>De&speckle</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources>
|
<resources>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user