ComicEnhancer Pro:Enhance scaned comics picture by brightness, contrast, gamma correction, resize, sharpen and blur.

作者:马健
邮箱:stronghorse_mj@hotmail.com
主页:老马的原创空间

功能简介
使用说明
    一、软件构成
    二、安装与删除
    三、CEP_常规
    四、CEP_书籍处理
    五、CEP_图像拼接
    六、CEP_文件批量重命名
密技曝光
    一、ComicEnhancer vs. Photoshop
    二、JPEG,JPEG 2000, BMP,GIF, TIFF, PNG and WEBP
    三、JPEG解码
    四、JPEG 2000解码
鸣谢
附录 版本更新记录

功能简介

多年来我一直是个热心的漫画读者(现在改读电子书了,不过软件名字懒得改),可是现在纸质版漫画或书籍的购置成本和储藏成本越来越高,远远超出了我的心理承受能力,所以我只敢收集电子版。但由于种种原因,扫描的漫画或书页常常因为纸张薄、纸质差而带有斑点、纸色、背透(纸张背面的图像透过来),或者因为扫描参数设置不当而造成图像灰暗、模糊,看起来实在是太累。

其实这些缺点均可通过数字图像处理技术进行修正,比如要消除最常见的背透现象,只要一个简单的对比度增强即可。但是一张、一张地去编辑图像文件又太累:我曾经花了两天时间逐页校正我喜欢的一部漫画,校正完后我的眼睛看什么都带灰影,所以最终还是下定决心开发了这个软件:
  (1).能够一次调节指定文件夹及其子文件夹下所有图像文件的亮度、对比度、Gammar校正等,以增强图像质量;
  (2).能够旋转、调节图像尺寸,进行锐化、柔化,调节JPEG图像压缩比等;
  (3).调整好的参数设置能够保存、调入,便于重用;
  (4).具有全尺寸的“所见即所得”的效果预览,可以单页调节、保存,也可以成批调节、保存;
  (5).在源图像文件相同、参数设置相同的情况下,转换效果是可重复的。因此可以建立一种新的漫画共享模式:如果某位漫友对网上的某部漫画扫描效果不满意,用ComicEnhancer Pro进行了调整,则他可以将调整所用参数发表在BBS上,其他漫友可以套用这些参数对同一部漫画进行增强,从而大家都能得到满意的漫画。
  (6).能够用减色的方式,将通常JPG格式的黑白漫画转成16级、8级、4级灰度PNG格式,减少文件长度。这个一般只对质量很好的漫画有用,正好用来对付尺寸越来越大的“完美版”漫画。
  (7).现在用平板扫描仪慢慢扫书已经满足不了大众饥渴的心,激情一来就随手掏出手机拍书正在从骚操作变成基操勿六。所以又专门增加了“扫描书籍处理”功能,包括自动分页、梯形矫正、弯曲页面展平等。但软件能力总有上限,拍得实在太烂也没办法。

本软件也提供一些基本图像浏览功能(参见打开图像文件后的“查看”菜单):除了通常的用键盘翻页(逗号/句号或加号/减号)、用键盘移动大图(四个箭头键),和用鼠标拖动大图外,还支持鼠标翻页( 在显示区右半部分双击左键下翻,在左半部分双击左键则上翻)。

目前能够输入的图像格式包括JPG、UFO、GIF、BMP、PNG、TIFF、WMF、JPEG 2000(JP2/J2K/JPC)、WEBP,能够输出的图像格式包括JPG和BMP、PNG、TIFF、JP2、GIF、WEBP。其中JPG能输出24位真彩和256级灰度格式;PNG、BMP、TIFF、WEBP、GIF能够输出24位真彩、256色 、128色、64色、32色、16色、8色、4色、2色和256级、128级、64级、32级、16级、8级、4级灰度及纯黑白(二值化)格式 ,BMP还支持555和565的16位色,GIF则把24位色转换成256色存储。考虑兼容性,TIFF纯黑白图像采用CCITT G4压缩,其它采用LZW压缩。JPEG 2000支持24位真彩和256灰度图像,并可通过设置压缩率定量控制输出文件的大小。JPG支持从原JPG文件中读取压缩系数,实现近似无损的转存。

如果有本程序不能识别的非标准图像文件,请用其他软件转换成标准图像格式,再调用本程序。

注意:

  1. ComicEnhancer Pro是一个“友情软件”(Friendware),个人用户在承诺不用于商业目的,也不对文件及其附件进行任何更改的前提下,不需要为使用该软件支付任何费用,最多是在BBS看到我发帖子灌水时,进去捧个人场作为友情回报,或者在年节时发个email问声好(所以叫“友情软件”)。我承诺绝不在程序中暗藏任何商业广告、木马,但不承诺为使用ComicEnahcer Pro的后果承担任何责任。如果您需要将它用于商业目的,或加入您的网站,请与我联系,否则保留追究一切责任的权利。如果您能提供更好的数字图像处理算法或源码,或发现程序的bug,欢迎与我联系
  2. 从v6.00开始,将不再发行32位版本,仅发行64位版本。另外从v6.00开始采用OpenMP并行技术优化部分代码,因此CPU线程数越多,可能某些功能跑起来就越快。

使用说明

一、软件构成

本软件原始ZIP包中包含下列文件:

  1. ComicEnhancerPro.exe:主程序文件。
  2. ComicEnhancerPro.htm:本帮助文件。

本软件运行过程中会生成以下文件:

  1. ComicEnhancerPro.ini:记录当前窗口状态、最近打开文件、工具条张状态等。如果窗口位置或工具条显示出现异常,先删除此文件再运行ComicEnhancerPro.exe即可恢复。
  2. ComicEnhancerPro_Para.ini:参数记录文件,点击“保存”按钮后产生。

除此之外的所有文件均为非法添加,欢迎举报!

如果是用“书籍处理”功能处理扫描电子书,在所处理的每个源文件夹下还会生成项目文件ComicEnhancerPro.prj,记录该文件夹下每个图像文件的处理参数。

二、安装与删除

安装:

  1. 下载本软件的zip包,解压后双击ComicEnhancerPro.exe即可启动。启动后进入的是常规界面,
  2. 如果想进入其他界面,如书籍处理,可以点击常规界面工具条上的相关按钮进入相应的页面,也可以点击“文件->创建快捷方式”菜单项,勾选需要创建的快捷方式,点“确定”后即可在电脑桌面上创建对应的快捷方式图标,点击即可进入相应的页面。后面将按照“创建快捷方式”中的顺序,介绍各功能界面的使用。

删除则很简单:

  1. 删除上面“软件构成”中提到的所有文件。
  2. 删除桌面上的快捷方式图标,如果有的话。

三、CEP_常规

双击ComicEnhancerPro.exe启动,或者点击桌面上的“CEP_常规”图标 (前提是已经按照前面说明在桌面上创建了快捷方式)启动后,显示出主框架窗口,并在下方显示参数调节对话框。用户一般先选“文件->打开”菜单调入图像文件,然后对参数进行试调节(参数项含义见后),直至满意为止 ,然后点击工具条上的“批量转换”按钮,按照当前参数进行批量转换。

在打开文件后,用页面浏览键(参见“查看->页面浏览”菜单项提示)可以在同一个窗口中浏览相同文件夹下的其它文件。文件的浏览顺序通过“查看->文件显示顺序”菜单项进行设置。这样可以在更大的范围内检查参数的作用效果。图像较大时可以用箭头键移动,也可以按住鼠标左键拖动。 在显示区右半部分双击鼠标左键可以向后翻页,在左半部分双击则向前翻页。

在参数确定后,选择“文件->批量转换”菜单或工具条按钮,弹出“批量漫画增强”对话框,即可对图像文件进行批处理:

  1. 如有必要,在“需增强的漫画”框中,点击“选择”按钮,选择源文件(需处理的漫画文件)所在文件夹,再从“源文件”列表中选择源文件类型。点击“查看文件”按钮可以启动缺省图像浏览器并打开文件夹中的第一个源文件。如果“包括子文件夹”选项被选中,处理时连源文件夹所含子文件夹下的文件一起处理,否则只处理源文件夹下的文件。
  2. 如有必要,在“增强后的漫画”框中,点击“选择”按钮,选择目标文件(处理后生成的新文件)的存放文件夹,再从“新文件扩展名”列表中选择目标文件类型。点击“查看文件”按钮可以启动 缺省图像浏览器并打开文件夹中的第一个目标文件。源文件和目标文件如果是同一个文件夹下,处理前会提示用户是否要覆盖源文件。
  3. 如有必要,调节“选项”框中的各个选项(含义见后)。
  4. 如有必要,可以点“选择转换”按钮,先选择几个源文件转换一下,看一下实际转换后的效果。
  5. 所有参数配置好后,点击右上方的“全部转换”按钮开始图像处理。处理过程中底部的进度条会显示当前处理进度,处理完后弹出对话框显示需处理的文件数、成功处理的文件数。如果有文件不能成功处理(不能读或不能写),会提示用户打开处理过程的记录文件,从中可以知道具体哪些文件不能读或写。不能读的原因可能是源文件损坏,或不是标准的文件格式。不能写的原因可能是因为目标文件夹不允许写,或磁盘空间不够。
  6. 在点击“全部转换”按钮开始处理后,“全部转换”按钮变成“停止转换”按钮,其它按钮、选项变灰。用户点击“停止转换”按钮可以中断正在进行的处理。
  7. 如果对调整效果比较满意,点击“保存”按钮可以将参数存盘。点击“调入”按钮可以调入以前存盘的参数。点击“恢复”按钮则将参数设置为默认值。如果需要删除某次保存的参数值,点击“调入”按钮,在打开“参数管理”对话框后,选择欲删除的设置,点“删除”按钮。

提示:

  1. 源文件夹最好和目标文件夹不一样,避免覆盖,并且可以反复处理。
  2. 由于各选项的参数值与具体图像情况有关,因此如果一次需要处理的图像很多,最好先从中选择几张进行试调节,参数调试好后再对所有文件进行最终调节,以节省运行时间。
  3. 从1.24版开始,原来的“转换”按钮更改为“全部转换”,即对源文件夹下的所有文件进行转换,适用于参数已确定的情况;新增“选择转换”按钮,允许对选定的(多个)文件进行转换,适用于参数尝试、调整阶段。
  4. 从6.02版开始,如果“新文件扩展名”选择了“自动”,则允许手工配置不同类型图像的具体存储格式。如果实在不知道该怎么选,就根据需要点击“无损”、“小文件”、“大路货”,使用预设的文件格式。各种文件格式的区别后面再讲。

参数常规调节步骤:

  1. 纸张方向:首先是保障纸张方向与阅读方向一致,不一致则选择旋转90度、180度,或镜像、翻转。
  2. 内容排版:选择切边,包括纠斜,从而确定真正需要处理的区域,把无关区域排除在外。
  3. 去除背景:如果图像扫描或者拍摄时光线不佳,造成图像背景灰暗,可以选择照度修正,尤其是“黑白文字”自动去除阴影。如果对自动去除的效果不满意,可以在调节中手工调整“去除背景阴影”参数。
  4. 颜色还原:如果页面明显发白,或因为纸张陈旧而发黄,或因为拍摄时白平衡不准确造成偏色,可以试着选择自动白平衡、自动色阶或自动对比度、自动亮度,把颜色矫正过来。或者选择通道混合,把彩色图像转成灰度。
  5. 黑白分明:对于黑白文字页面,首要的要求是黑白分明,术语是“对比度丰富”。对此可以试试对比度曲线、光线等,让图像背景干净、文字分明。
  6. 色彩靓丽:对于彩色图像,除了对比度外,还对色彩有要求,可以试试自然饱和度等。如果有大片纯色区,可以用表面模糊使色区更纯。
  7. 如果调节后图像整体发白,或文字、边线较模糊、黯淡,可增加Gamma校正值,或选择 后处理等。
  8. 如果画面模糊,可以选择锐化选项,或多尺度细节增强、USM锐化。如果图像边线、文字比较单薄,有间断,或图像放大后锯齿比较严重,可选择柔化高斯模糊操作。
  9. 如有必要,调节图像缩放比例。如果需要放大的比例超过200%,需改为在切边中设置纸张尺寸和DPI。 高DPI即高倍放大造成的模糊,如果用普通锐化选项 不足以消除,可以选择高阶的高斯锐化。高斯锐化产生的麻点、空洞、毛刺等可以用高斯模糊消除。
  10. 如果希望生成的JPG文件更小一点,可以减小JPG质量;如果生成的是JPEG 2000(JP2),则可调节JP2压缩率
  11. 对于黑白漫画,色彩选项选为“256级灰度”可以使生成的文件小一些;如果画面非常干净,也可以选择“16级灰度”、“8级灰度”或“4级灰度”,并选择按PNG格式输出,可以获取最佳压缩比。对于纯文字页面,选“单色”,并选择按TIFF格式输出,可以获取最佳压缩比。如果需要处理的漫画中包含彩色封面,可以勾选“不处理彩色图像文件”选项,以避免损失。
  12. 如果浏览的是纯文字页面(扫描电子书),并且笔画较细影响阅读,可以选择“加粗”、“柔化”选项进行加粗。
  13. 处理过程中可以显示直方图,查看是否处理过头。

更详细的教程参阅我写的《ComicEnhancerPro 系列教程》,更多的处理实例参见我放出来的DIY扫描仪拍书处理例子。 总之,无论你点什么样的参数,都不会找你要一分钱;只要事先做好备份,也不会给你带来任何图像损失,所以你就大胆的试吧,专家都是试出来的。

参数项的含义:

1. 亮度
范围0~200,100表示亮度不变,小于100则图像变暗,大于100则图像变亮。增加亮度一般可以消除斑点、背透、纸张颜色、印刷时油墨不匀造成的黑印,但是较淡的文字、边线可能会更看不清。 减小亮度可以使白纸变灰,也有人喜欢这样的感觉,理由是“看起来没那么辣眼睛”。

2. 对比度
范围0~200,100表示图像不变,小于100则图像变灰,大于100则图像更加黑白分明,可以解决背景杂乱等问题。

3. 高亮度
范围0~200,100表示高亮区(图像空白区)亮度不变,小于100则高亮区图像变暗,大于100则高亮区图像变亮。所谓“高亮区”,其实是由旁边的“高亮值”定义的 ,即亮度处理只针对比“高亮值”更亮(白)的像素。在使用本功能去除背景上的纸色、背透时,如果增加高亮值,可以保护较淡的文字、边线,但是去除效果就会下降;如果减少高亮值,去除效果就会更明显,但可能会误伤较淡的文字、边线。因此应该优先使用曲线、对比度等调节手段,不行再试这个。

4. 高亮值
定义高亮度区加亮功能的“高亮区”:当象素的亮度值(0~255)大于等于该值时,象素处于高 亮区,执行加亮操作,否则保持不变。一般来讲,增加此值时,可以保护较淡的文字、边线,但是去除 背景效果就会下降;如果减少此值,去除效果就会更明显,但可能会误伤较淡的文字、边线。

5. 曲线
大致相当于Photoshop的曲线(Curve)功能,专业术语称“对比度延展”。此功能可以综合调节画面对比度和亮度,并且设置了几种典型模式,应该是首选的调节手段,宜勤加练习。

在选择预设模式后,如果对曲线的效果不满意,可以用鼠标拖动曲线上的两个大黑点(控制点)来改变曲线的形状:上方控制点控制图像的明亮区域,如背景上的纸纹,当上方控制点位于灰色45度线之上时,会使亮区更亮,否则更暗;下方控制点控制的是图像上的暗区,如黑色的线条、文字等,当下方控制点位于灰线下方时,暗区更暗,否则更亮。因此:

  • 当两个控制点均位于灰线上方时,对整幅图像具有增亮作用。控制点离灰线越远,亮得越厉害。
  • 当两个控制点均位于灰线下方时,对整幅图像具有压暗作用。控制点离灰线越远,暗得越厉害。
  • 当上方控制点位于灰线之上,而下方控制点位于灰线之下,则白的越白,黑的越黑,因此可以消除背景杂乱:杂乱的背景归属亮区,增亮后就成白色了,而暗区 文字、线条得到了增黑。拖动控制点可以控制压暗、增亮的幅度,即对比度。
  • 当上方控制点位于灰线之下,而下方控制点位于灰线之上,则亮区、暗区都往中间灰度靠拢,整幅图像的对比度降低,看起来灰蒙蒙的。处理扫描图像时一般不会这么玩,处理人像照片时偶尔会有人这么干,以掩饰人物皮肤上的一些缺陷。

从实际使用反馈来看,大多数人用曲线多半是点“背景杂乱”去背景,但敢拖拽控制滑块的人真心不多,所以在曲线下方还加了一个滑动条,拖拽滑动条也可以调节曲线去背景。

如果单纯靠曲线解决不了“背景杂乱”问题,可以试试“曲线”界面下方的两个强力去背景选项,通常只需将“画面”条往右拉,即可解决纸张发黄、背景杂乱等。不过这个选项效果太强烈,建议慎用。 两个选项的含义:

  • 画面:滑动条上的游标位于左侧时,整幅图像发暗;游标越往右去,图像越黑白分明。
  • 背景:游标越往右,背景越明显。通常保持在最左侧就好。

6. Gamma校正
范围0~300,100表示图像不变,小于100则图像变白,大于100则图像变黑,有助于解决因增加亮度、对比度、高亮度等而造成的画面发白,并能使模糊、黯淡的文字、边线变得更坚实,当然如果图面上有麻点也会变得更显眼。

7. 尺寸缩放
范围0~200,100表示图像尺寸不变,小于100则输出图像变小,但图像可能会更清晰(致密);大于100则输出图像变大,但可能会更模糊,需采用锐化等操作进行弥补。
如果觉得200%的放大倍率还不够,可以不在这里设置缩放比例,而是在“切边”里通过页面尺寸和DPI进行设置,那个允许放得更大。

8. JPG质量
范围0~100,此值越低表示存盘后的JPG图像质量越差,但文件长度更小;此值越高表示存盘后的质量越好,但文件长度更大。webp与jpg格式共用此参数,但webp在质量系数为100时是无损,而jpg不论质量系数是多少均为有损。

如果点击设置,可以对JPG质量和文件大小进行更进一步的控制:

  • 优先使用原JPG质量系数:如果此选项被选中,并且源文件也是JPG,则不使用上面选定的“JPG质量”系数来计算新文件的量化表,而是直接从源文件中复制量化表 ,减少质量损失。
  • 颜色采样:如果“优先使用原JPG采样参数”被选中,则优先从源文件中读取色度分量(Cb、Cr)的采样系数,否则如果“方式”为“自动”,则仅当JPG质量小于90时才对色度分量进行子采样(sub-sampling,其实就是缩水),大于等于90时不进行子采样;89~70时如果图像宽度大于高度则水平方向缩一半,否则垂直方向缩一半;低于70时双向均缩一半。如果“方式”为“手动”,则按照“水平方向缩一半”、“垂直方向缩一半”选项的设置 ,进行色度分量的子采样。
    提示:子采样可以减小文件长度,但会丢失部分色彩信息。
  • 编码:如果“优先使用原JPG编码参数”选项被选中,则自动按照源JPG文件中的参数决定是否采样渐进(progressive)编码或优化(optimize)编码,否则按照“渐进式”、“优化编码”选项所选定的进行编码。 编码选项只影响JPG文件长度,对质量没有影响。
    提示:优化编码需要进行双遍扫描,因此虽然可以在质量不变的情况下减小JPG文件长度,但生成JPG文件的时间会略长。渐进式编码通常也可以在质量不变的情况下减小JPG文件长度,但由于渐进式编码已经超出了JPEG标准中的基本(baseline)要求,因此某些实现得比较简陋的JPG解码器可能解不开,不过这种情况我还没遇到过。另外如果选中了“渐进式”,则内部自动采用优化编码,不论是否选中“优化编码”选项。

提示:如果“优先使用原JPG质量系数”、“优先使用原JPG采样参数”、“优先使用原JPG编码参数”三个选项均被选中,则转存后的JPG文件与源JPG文件相比,文件长度、质量基本保持不变。

9. JP2压缩
即JP2文件的压缩率,范围0~100,可以用该值定量控制生成的JP2文件的大小:
最终JP2文件字节数 ≈ 图像像素宽度×图像像素高度×JP2压缩率÷100
当然天下没有白吃的午餐,文件越小,质量越差。不过即使压缩率为100%,也不是无损压缩。

10. 切边
从4.00版开始,“切边”包含了排版功能,因此成为本软件最复杂的界面之一,所以在界面上特意放了一个“帮助”按钮——亲,这可是免费周到的贴心服务哦!

排版的概念是这样的:整个页面首先是白纸一张,然后去掉页边距,剩下的就是版心。把内容框灌进版心,就完成了排版。当然这个“灌”包括了对齐、缩放/裁剪等过程。所以,首先是要得到包含全部有效内容但不含白边的内容框,然后再设置页面尺寸、边距、对齐方式等,剩下的就由软件搞定。

界面中的左侧选区是针对内容框选取的:

  • 首先选择是否需要自动纠斜,因为带倾斜的页面会干扰后续的自动选择内容框的准确性。
    在自动纠斜中判断页面倾斜角度时,是以文本行为标准来判断的,因此需要按照文本行是横排还是竖排来选择。如果横、竖排的文本都有,可以考虑“双向”,但双向需要在横、竖两个方向上找倾斜角,因此花的时间会更多一些。
    自动纠斜范围±5°。纠斜时需旋转图像,旋转产生的模糊可用“锐化”补偿。选择“网格”则显示网格线,便于查看纠斜效果。
    纠斜的结果是对图像纠斜旋转,这样就会在对称的角点方向留下空白,即右侧预览图中的黑色边框,对空白的处理方式:
    ·边缘保留:用原图中的内容填充空白。如果原图在空白处正好有内容,就会有残留。
    ·边缘填白:用“填白所用色”填充空白。
    ·边缘扩展:用原图像边缘处像素扩展填充空白。如果边缘处正好有黑点,可能扩展出黑线。
  • 其次是选择内容框。处理扫描版电子书很有名的软件ScanTailor也有内容框全自动选择功能,但常常会把页码等较小的区域给切掉,因此本软件采用了人工选择与自动选择相结合的方式:先用鼠标拖动右侧预览图中的8个黑点,手工选择一个大致的范围,然后再在这个范围内自动选择。自动选择选项:
    1、不计黑边:与上、下、左、右四条边相联通的黑色区域都算黑边,自动纠斜后也会因为旋转而产生黑边。有些书的页眉、页脚贯通到页边界,可能会被误切,这时就不宜用自动选择。 另外在周边无黑边时,该选项可能会对中间的大块黑区进行裁切。
    2、忽略斑点直径:页面上如果有斑点,会造成内容区的误判,因此选择适当的斑点直径可以增加自动选择的准确性。但如果斑点直径选择过大,可能会把页码等小区域也误切掉。
    3、斑点补偿:斑点补偿有两方面含义,一方面是担心因为斑点直径太大造成误切,因此补偿一下,另一方面是稍微留一点空白,看起来更好看一点。当然不想要也可以关闭这个选项。补偿的规则很简单:自动选择内容区后,再往外稍微扩一下选区,扩的距离就是“忽略斑点直径”指定的值。
    4、强力去背景:如果被选中,则将采取与ScanTailor类似的算法,即使不用手工选择裁切范围,一般情况下也能自动裁切出合适的内容框。但是 可能会出现误切,所以缺省情况下此选项未被选中。

内容一旦被误切就回不来了,因此建议点击左下角的翻页键,逐页查看一下内容框实际选择情况,避免误切。如果出现误切,建议减小“忽略斑点直径”的值 ,或不选择“强力去背景”。

界面中的右侧区域是针对页面与排版的:
首先是指定版心,而版心是由页面尺寸减去边距尺寸得到的。因此参数分解为页面尺寸与边距两部分。其中页面尺寸选项中包含开本尺寸,可以在书籍的版权页中看到,这个绝对是具有中国特色的东东。页面尺寸各选择项的含义见下表,表中尺寸单位为厘米(CM):

选项值 宽度 高度 建议边距
左右 上下
保持不变,内容框外填白 页面尺寸就是当前图像的大小,内容框位置由“内容框对其方式”决定:选“不变”则内容框位置不变,否则居中或左、右齐
内容框大小 最终页面大小就是内容框大小,无附加边距
内容框+页边空 最终页面大小=内容框+页边距
指定宽度 指定值 按内容框比例自动计算 指定值 指定值
指定高度 按内容框比例自动计算 指定值 指定值 指定值
指定宽、高 指定值 指定值 指定值 指定值
787×1092
正度纸(俗称)
1/16 18.5 26.0 1.6 2.2
1/32 13.0 18.5 1.75 1.9
1/64 9.2 12.7 1.15 1.25
1/128 6.0 8.7 0.5 0.6
850×1168
大度纸
1/16 20.0 28.5 1.75 2.15
1/32 14.0 20.3 1.85 2
1/64 10.1 13.7 1.15 1.4
1/128 6.5 9.7 0.5 0.7
889×1194
大度纸(俗称)
1/16 21.0 28.5 1.75 2.15
1/32 14.3 21.0 1.9 2
1/64 10.5 14.0 1.15 1.4
1/128 6.7 10.0 0.6 0.7
890×1240
A系列(之一)
900×1280
A系列(之二)
1/16 20.1 29.7 1.4 2.25
1/32 14.8 21.0 1.25 1.5
1/64 10.5 14.4 1.25 1.4
1/128 6.9 10.0 0.7 0.7
1000×1400
B系列
1/32 16.9 23.9 1.5 2
1/64 11.9 16.5 1.5 1.75
1/128 8.2 11.5 0.7 1
A4公文 21.0 29.7 2.7 3.6
A5 14.8 21.0 指定值 指定值
A6 10.5 14.4 指定值 指定值
B5 16.9 23.9 指定值 指定值
B6 11.9 16.5 指定值 指定值
B7 8.2 11.5 指定值 指定值
4开报纸 55.0 39.0 2.00 2.50
8开报纸 27.5 39.0 2.00 2.50
A2(WORD 2013) 42.0 59.4 3.18 2.54
A3(WORD 2013) 29.7 42.0 3.18 2.54
A4(WORD 2013) 21.0 29.7 3.18 2.54

注释:

  1. “填白”或“页边距”造成的空白地带,一律用“填白所用色”中指定的色彩填充,缺省是白色。
  2. 上表的页面尺寸、页边距值仅供参考。一般出版社排版时页码也不算在版心内,这点必须考虑。 另外上表仅列出常见开本尺寸,如果想知道更多畸形本尺寸,请百度《书刊开本尺寸及其版芯尺寸表》。 如果手头有实体书,用直尺实际测量一下是最稳妥的办法。
  3. 对于A4~B7的尺寸,《GB/T 788-1999 图书和杂志开本及其幅面尺寸》规定的尺寸与《GB/T 148-1997 印刷、书写和绘图纸幅面尺寸》规定的不同,估计是裁边的问题。此处采用GB/T 788-1999的尺寸。
  4. “A4公文”的边距按照《GB/T 9704-2012 党政机关公文格式》规定计算。
  5. 报纸尺寸按照《参考消息》测量。
  6. 标注有WORD 2013的A2、A3、A4,左右、上下边距尺寸从MS WORD 2013中取。
  7. 如果选择了预设的开本尺寸,但对预设的页边距不满意,可以先选择想要的开本尺寸,然后再选择“指定宽、高”,即可手动对页边距进行修改。

除了“页面尺寸”与“页边距”外,“页面大小”框中还有两个非常重要的选项:

  1. 单位:可以选择“厘米”或“像素”,这是“页面尺寸”与“页边距”的单位。
  2. DPI:如果“单位”是“厘米”,软件内部最终要按照DPI将厘米尺寸转换成像素尺寸。另外DPI值也要保存到最终输出的图像文件中。 在设定页面尺寸后增加DPI,可以实现图像高倍放大。

选定内容框、设置好页面尺寸后,就要指定内容框在版心中如何排布,选项包括:

  • 内容框在版心内的对齐方式:如果“页面大小”选择了“保持不变,内容框外填白”,则“不变”表示内容框的位置在水平或垂直方向上不变;如果“页面大小”选择了其他值,则“不变”相当于 保持内容框左、上边界在原始页面中的位置比例。
  • 当内容框大于版心时:“溢出”表示对内容框不做裁剪,超出版心就超出了,通常在通过“缩放”功能单独对图像进行了放大,或DPI低于实际值时会出现溢出;“缩图”表示对内容框进行缩图,以适应版心大小,缩图时自动保持纵横比例;“裁剪”表示把超出版心的部分裁掉,具体裁剪的是哪条边,要看内容框在版心中的对齐方式。例如内容框的宽度超出版心,则水平对齐方式选“居住”裁两边,选“左齐”裁右边,选“右齐”裁左边。
  • 当内容框小于版心时:“填白”表示内容框不做额外的缩放处理,多出来的部分自动填白;“放大”表示自动将内容框放大到版心限定的区域,并保持原纵横比。“放大”的放大比例不受200%的限制,按照纸张尺寸和DPI算出来该放大多少就放大多少。

注意软件界面中会自动显示当前内容框与版心的像素尺寸,可以据此判断会不会出现溢出。

如果有必要,可以再选定填白时使用的颜色,缺省是白色。鼠标左键点击手型图标,然后按住左键拖动,可以用颜色吸管在页面中选择填白所用颜色。

有时候需要前、后翻页看是否会出现多切和少切。除了用键盘翻页外,还可以用鼠标翻页:鼠标左键双击图像显示区域的左侧向前翻一页,双击右侧则向后翻一页。如果按住Ctrl键双击,则一次翻两页。

11. 锐化
对于常规图像,锐化能够使模糊的图像变清晰。 其中锐化级别01~09用的是3阶卷积核,a1~a3用的是锐化效果更明显的5阶卷积核。如果觉得不够,可以在“调节”里微调“高斯锐化半径”,那个用的是更高阶的卷积核 。

从时间上说,运算量与阶数的平方成正比,即如果说3阶的卷积运算量是9,5阶的运算量就是25,9阶的运算量则是81,因此锐化级别01~09的速度是最快的,应该优先使用,实在不行再选稍慢的a1~a3,只有在真的需要强力锐化的时候再去选最慢的“高斯锐化半径”。

12. 柔化
能够使锐利的边缘、锯齿变柔和,也能使散点图像还原成灰度图像。但如果原来图像就模糊,用此功能后大概就该出重影了。如果“色彩”选择了“单色”,也可以用此功能平滑笔画,其效果较“加粗”柔和。 这里使用的是3×3卷积核,如果想进行更精确的控制,可以在“调节”里微调“高斯模糊半径”,那个用的是高阶的高斯模糊,速度当然比3阶的慢。

13.调节

锐化、柔化的选项都是分级的,有时候不一定满足要求,因此增加了“调节”功能,可以更细致地调节锐化、柔化效果等效果:

  • 高斯模糊半径:和Photoshop的高斯模糊滤镜差不多,效果比分级的“模糊”更可控,但速度稍慢。
  • 高斯锐化半径:把高斯模糊矩阵反过来当作锐化矩阵使用,效果比分级的“锐化”更可控,效果也更强烈,但速度较慢。 速度与阶数的平方成反比,但与半径无关,因此使用时可以先把半径拉到最大,然后从最低的阶数开始选择,选定阶数后再逐渐缩小半径。 必要时可增加高斯模糊半径,平滑掉高斯模糊半径造成的边缘毛刺。
  • 多尺度细节增强:利用3次不同半径的模糊效果加权平均,同时实现对比度增强与锐化。
  • 自然饱和度:与Photoshop中的同名滤镜差不多,增强或减弱彩色图像的饱和度。 只不过参数的作用更强烈一点(约是PS的两倍)。该功能可用于局部饱和度增强。
    饱和度的作用是使色彩更鲜艳,但常规饱和度调节是针对整个图像的,即整个图像的饱和度均按照指定的比例统一增强,但如果调节到较高数值,图像会出现色彩“过饱和”现象,造成图像失真。而“自然饱和度”在增强饱和度时会 逐像素比较各像素的R、G、B通道,只增强该像素较弱的通道,不改变较强的通道。这样在增加饱和度时,本身饱和度就高的像素不会爆掉(溢出), 避免出现色块或整体偏色。
  • 去除背景阴影:v5.04推出全自动的“黑白文字”、“文字+红章”选项,对于绝大多数背景灰暗的图像均可得到黑白分明的处理结果,但某些低对比度图像的细节可能会被误删。所以把其中参数自动化部分改成了手工选择,用人眼来尽量保留细节。如果需要处理的是彩色图像,勾选“红章”则结果仍然为彩色图像,否则转换成灰度图像。建议尽量先选择自动化的“黑白文字”、“文字+红章”选项,不行再选这个手动选项。

14.通道

“通道”功能包括颜色替换、通道互换、通道混合、自动白平衡、反白、CMYK反白。

颜色替换通常用于去除水印、底纹、彩色边框等,其替换过程是:逐一检查图像中的每一个像素,如果像素颜色满足“替换条件”,则将其替换成指定色。某些替换条件可能会用到“阀值”。各“替换条件”的含义如下:

  • 不替换:别用“颜色替换”功能了,颜色爱咋滴就咋滴。
  • RGB分量与样本差小于阀值:在把色彩空间从RGB空间转换到Lab空间后,如果当前像素与“替换”色的欧式距离小于阀值,则将当前像素的颜色替换成指定色。即替换与指定色相近似的颜色。 从RGB转换到Lab的原因是RGB空间分布不均匀。
  • 色调与样本差小于阀值:当前像素的色调值减去“替换”色的色调值,如果差值的绝对值都小于阀值,则将当前像素的颜色替换成指定色。 即替换色调与指定色相似的颜色。
  • RG分量差值大于阀值:当前像素的R、G分量相减,如果差值的绝对值大于阀值,则将当前像素的颜色替换成指定色。 即当红、绿色差较大时,替换颜色。
  • RB分量差值大于阀值:当前像素的R、B分量相减,如果差值的绝对值大于阀值,则将当前像素的颜色替换成指定色。 即当红、蓝色差较大时,替换颜色。
  • BG分量差值大于阀值:当前像素的B、G分量相减,如果差值的绝对值大于阀值,则将当前像素的颜色替换成指定色。 即当蓝、绿色差较大时,替换颜色。
  • R分量占比超过阀值:如果100*R/(R+G+B)>阀值,则将当前像素的颜色替换成指定色。即替换红色比较突出的像素。
  • G分量占比超过阀值:如果100*G/(R+G+B)>阀值,则将当前像素的颜色替换成指定色。即替换绿色比较突出的像素。
  • B分量占比超过阀值:如果100*B/(R+G+B)>阀值,则将当前像素的颜色替换成指定色。即替换蓝色比较突出的像素。

在使用时,鼠标移动到“替换”、“成”按钮右侧的有手型图标的按钮上,按住鼠标左键并拖动鼠标,可以在屏幕上选色,下方的小框内会实时放大显示当前光标周围的图像,右侧则显示当前光标点的RGB颜色值,即选择的颜色值。

由于“颜色替换”功能需要分成几个步骤才能完成,因此不能实时查看效果,只有点“确定”按钮后才能实际起作用。

通道互换功能比较简单明了,就是对R、G、B通道进行互换。比如处理红外照片时一般习惯上要进行红、蓝替换。

通道混合:这个其实是把彩色图像转换成256级灰度图像,但又与下面要说的“色彩”功能中的灰度转换方法不同。在“色彩”中选择“256级灰度”时,是按照经典的BT.601心理学模型转换公式:
G = 0.299 * R + 0.587 * G + 0.114 * B
而在“通道混合”中,则采用了不同的方法:

  • 红:取原彩色图中的红色通道成为新的灰度图。
  • 绿:取原彩色图中的绿色通道成为新的灰度图。
  • 蓝:取原彩色图中的蓝色通道成为新的灰度图。
  • (红+蓝)/2:取原彩色图中的红色、蓝色通道的平均值成为新的灰度图。
  • (红+绿)/2:取原彩色图中的红色、绿色通道的平均值成为新的灰度图。
  • (绿+蓝)/2:取原彩色图中的红色、蓝色通道的平均值成为新的灰度图。
  • 色调:将原RGB色彩空间转换成HSL色彩空间,然后取H通道成为新的灰度图。
  • 饱和度:将原RGB色彩空间转换成HSL色彩空间,然后取S通道成为新的灰度图。
  • 亮度:将原RGB色彩空间转换成HSL色彩空间,然后取L通道成为新的灰度图。
  • 对比度:将RGB转换成256级灰度,但保持原色彩间的对比度。
  • 灰度:按照BT.709转换公式转换:G = 0.2126 * R + 0.7152 * G + 0.0722 * B
  • (红+绿+蓝)/3:取原彩色图中的红色、绿色、蓝色通道的平均值成为新的灰度图。
  • 乌贼漂白:这个其实是从其他图像处理软件的“乌贼墨水”学来的,只不过乌贼墨水处理后一片淡黄,我这个处理后是灰度图像。可以净化发黄的纸张或不太明显的背景,差不多相当于黑白 摄影的黄色滤镜效果。 在“通道混合”中,只有这个选项能用于彩色和灰度图像,其他选项只对彩色图像起作用。

简单点说,前6种相当于Photoshop中“通道混合”功能的粗暴简化,“亮度”相当于Photoshop中的“去色”,“对比度”在Photoshop中没有对应功能,但有时候是真好使。

如果实在搞不清“通道混合”的功用,就还是老老实实用“色彩”吧,“色彩”的转换效果实在不满意了再逐一选择“通道混合”中的各值,实际看一下究竟哪个更好一点。

自动白平衡用于矫正偏色,包括因为纸张陈旧造成的偏黄、光线不足或拍照的手机太便宜造成的偏红或偏蓝等。“白点矫正”自动选择图像上最亮的区域,并试图以此区域为白色参照,对全图进行矫正。矫正后原 来最亮的区域成为白色,其他区域等比例增亮,结果可能造成整个图像偏白。如果觉得太白以致缺乏对比度,可以选择“白点+黑点”矫正,即先进行白点矫正,然后自动寻找图像上最暗的区域,以此区域为黑色参照,对全图进行矫正,把发白的图像再拉回来,但已经矫正成白色的区域不变。 因为矫正的标准是图像的最亮区与最暗区,所以如果图像整体存在照度不均匀现象,务必先进行照度修正,再进行白平衡矫正。 如果白点矫正失败,会自动改成调用“自动色阶1”,这个也具有一定的偏色矫正能力。

“反白”比较简单,就是把颜色反相,如把黑底白字变成白底黑字,或把白底黑字反成黑底白字。

“CMYK JPEG反白”专门用于处理CMYK色彩空间的JPG文件,对其他文件无效。如果您打开某个JPG文件后发现文件显示的颜色不对,而右下角提示的文件色深是32位,则可以试试看勾选这个选项。

15. 色彩

通常使用本软件的目的,就是希望能够将扫描图像处理得更“黑白分明”,即去掉多余的纸张颜色、背景、底纹、光照阴影等,同时将有用的文字、图像部分变得更清晰、悦目。换句话说,处理后的颜色或灰度级别可能就没有原来那么多了,适当减少存盘图像的颜色数可以有效减小最终文件长度。 另外有些手持设备由于条件限制,只能支持256色或16级灰度,这时也需要减色,而且常常需要结合采用抖动,以保持图像效果。

注意:为了简化图像处理算法的实现过程(说白一点是为了偷懒),本软件在读取图像时,如果发现是调色板图像,会自动检查调色板,如果发现是彩色图,则一律转换成24位真彩图,否则转换成256级灰度图,即在本软件内部只需针对24位真彩、256级灰度两种图像进行处理。因此在处理完后存盘时,如果不对颜色数进行限制,可能会出现文件膨胀。举个例子:黑白文字页面的大图PDG其实是16级灰度的PNG,如果在用“颜色替换”功能去除水印后,按照缺省的“保持原样”存为PNG,会按照256级灰度保存,结果造成文件膨胀,而改成“16级灰度”后再存为PNG就与原来文件长度差不多了——差异还是有的,毕竟把水印去掉了。

“色彩”界面分成上、下两个部分,上部分选项是通用选项,包括:

  • 色彩数:指定输出图像中的色彩,允许的选择包括:
    • 保持原样:如果原图是彩色图(24位图或调色板彩图),则存为24位真彩,否则存为256级灰度。
    • 24位色:和“保持原样”的效果一样。换句话说,如果原图就是灰度的,选了这个选项也存不了24位色。
    • 256级灰度:强制将所有图像转换成256级灰度图像,彩色图像按照心理学模型转换。
    • 128级灰度、64级灰度、32级灰度、16级灰度、8级灰度、4级灰度、纯黑白:强制对所有图像进行减色,减成要求的灰度级别。彩色图像先按照心理学模型转换成256级灰度,然后再减色。如果对心理学模型的转换效果不满意,可以试试“通道混合”。
    • 256色、128色、64色、32色、16色、8色、4色、2色:强制将彩色图像减色到要求的色彩数。对于灰度图像,相当于减色到要求的灰度级别。
    • 16位色565、16位色555:用于将24位真彩色减成16位高彩色。分别对应R5G6B5和1XR5G5B5两种。16位色只能存为BMP文件。
  • 调色板量化算法:在减色时,最重要的事情有两个:一个是确定新的色彩有哪些,即应该用什么样的方法生成新的调色板,如将24位色减为256色时,究竟应该选哪些色构成这256色?;另一个事情是如果原先图像中的一种颜色在新的调色板中没有,那究竟应该把它替换成哪一种新色?。第二个问题比较好解决,大家都是用欧氏距离进行判定,速度是差了点,但效果还不错。第一个问题就比较复杂,至今已经有太多的人提出了太多的方法,但每种方法都有其长处,当然也有其短处,包打天下的方法很不幸至今尚未找到。因此在本软件中提供了几个选项让用户自己选,如果实在不知道该选哪一个,那就逐个都试一下才是明智的选择:
    • 八叉树:这是一种四平八稳的算法,减色效果不会特别好,尤其是在目标颜色数不超过16时,但一般也不会特别坏,速度、内存占用也还凑合,因此是4.00之前版本的唯一减色算法。
    • 中位切分:一种古老的迭代算法,速度相当慢,效果一般般,某些情况下比八叉树好,某些情况下甚至不如八叉树。
    • XiaoLin Wu:以该算法的提出者名字命名的算法,在目标颜色数较少(不超过16时)时通常优于八叉树,所以现在成了缺省算法。
    • 固定调色板:不管原始图像中的色彩是什么样的,全部减成系统内部设定的固定色。由于不需要计算新调色板,因此速度很快,但效果就听天由命了。如果要求减色后的图像都拥有相同的调色板,只能选择这种算法。
    • 神经网络:速度较慢,但有时候效果还不错,尤其是在目标颜色数不超过16时,效果可能优于XiaoLin Wu,所以在颜色数量较少时推荐选择此算法。
  • 抖动:如果原先的图像存在很多过渡色或过渡灰度,减色后可能会出现类似“等高线”的色区,看起来很难看,这时可以试试抖动,即通过像素点的交错排列,减轻等高线效应。彩色、灰度图像的抖动算法是经典的Floyd Stainberg算法,纯黑白图像的抖动算法在下面选。
  • 索引色PNG、GIF设置背景透明:如果选择了此选项,则除非是选择了24位色、16位色这样的非调色板图像,否则在存为PNG、GIF时会自动把白色或最接近白色的颜色设置为透明背景色。
  • 载入时判断灰度图像:除非选择了“不判断”,否则在打开图像文件时,实际逐像素检查图像是否是灰度,对于假冒24位真彩的灰度图像,一律转成真正的灰度图像。如果选“容错判断”,则允许R、G、B分量之间有一定的差异;如果选“严格判断”,则只有在R、G、B分量相等时才认为该像素是灰度像素。

对“色彩数”的补充说明:

  1. 如果选择“256级灰度”选项,处理后的文件按256级灰度保存,对于黑白漫画可以减少文件长度,但对于彩色漫画就太可惜了。如果选择“24位真彩”, 则按24位真彩色格式存盘,对黑白漫画来说又太浪费。如果选择“保持原样”,则原来是256级灰度或24位真彩的,存盘后还是256级灰度或24位真彩,适用于那些封面为彩色,内容为黑白的漫画。如果画面非常干净,也可以选择“16级灰度”、“8级灰度”或“4级灰度”,并选择按PNG格式输出,可以获取最佳压缩比。对于纯文字页面,选“单色”,并选择按TIFF格式输出,可以获取最佳压缩比。
  2. 对于16级灰度、8级灰度、4级灰度或单色,本软件会自动“保白”,即强制将最“亮”的色彩置为白色。
  3. 对于纯黑白图像,存为TIFF可以获得最佳压缩比,而且是无损压缩;对于24位彩色、256级灰度图像,可以存为有损的JPG、JPEG 2000,也可以存为无损的PNG;对于其他色彩数,建议存为PNG。

“色彩”界面的中间部分是“保持原样选项”,即只有在“色彩数”为“保持原样”时才有效,目前只有一个选项:

  • 如果色彩数不超过××则转纯黑白。选中此选项后,会在减色前先统计图像颜色数,如果不超过指定值,则自动把图像转换成纯黑白。这个主要是针对纯文字页和彩色插图页混编的书籍,即文字页自动转纯黑白,插图页保持24位真彩不变。

“色彩”界面的下半部分是纯黑白选项,只有在“色彩数”选择了“纯黑白”的情况下才能用,可用的选项包括:

  • 抖动算法:只有在选择了上方的“抖动”选项后才能用此选项。纯黑白图像的抖动,就是用不同密度的黑点来模拟不同的灰度。可以选择不同的抖动算法,实在不知道该选哪个就都试试:
    • JJN:经典Floyd Stainberg算法的改进。相对于经典Floyd Stainberg算法,JJN算法更突出边界,因此对比度保持较好,而且不容易出现规则条纹。
    • Floyd Stainberg:看起来比JJN更柔和一些,有人比较喜欢这种效果,但容易出现规则性的条纹。
    • Bayer:用不同密度的预设网纹进行抖动,类似于老式报纸上照片的效果。
  • 阀值算法:如果没有选择“抖动”,则可以选择此选项。如果不知道这些算法的含义和效果,那就都试试:
    • 同调色板量化算法:采用上方“调色板量化算法”框所选算法,即八叉树、中位切分、XiaoLin Wu或固定调色板等。
    • Otsu:大名鼎鼎的全局阀值算法之一,速度很快,对于照度均匀的图像效果不错。
    • Wolf:局部自适应阀值算法,即将整张图像按照“窗口尺寸”划分成各独立子区域,然后根据子区域中的情况,结合整张图像的统计特征,进行二值化。在整张图像照度不均匀时比较有用。
  • 窗口尺寸:只有在“阀值算法”选择了“Wolf”时才有效。较小的窗口尺寸能适应较剧烈的照度变化,较大的窗口尺寸则适应较平缓的照度变化。 通常认为窗口尺寸至少是文字大小的1.5倍,即窗口内包含2个以上的文字是最好的。实际使用的时候我都是先增加窗口尺寸,不行再减小。 较大的窗口尺寸能使文字笔画变粗,但容易出现粘连,可用锐化减轻粘连。
  • 去斑直径:灰度图像变成纯黑白后,有时候会出现一些黑色斑点,看起来比较难看。此选项值为0时时不会管这些黑色斑点,大于0时则自动清除长、宽均小于选定值的斑点。注意选择的值不要超过文字笔画中独立点的直径,否则可能会造成笔画残缺。
  • 去除符合下列条件的黑色区域:在某些繁体竖排书籍上,人名、书名旁边会有竖线、波浪线,这些竖线、波浪线看起来很美观,但实际上会干扰OCR的准确性。因此在OCR前可以用此功能去除。注意“宽度”与“高度”之间是“与”的关系,另外此功能与“去斑”独立,顺序是先去斑,再去除符合条件的黑色区域。
    如果想测量实际图像中线条的像素尺寸,可以先把鼠标移动到图像区域,按住Shift键,晃晃鼠标,直到鼠标光标变成十字,然后在需要测量的区域左上角点一下鼠标左键,再到右下角点一下鼠标左键,就会弹出对话框,报告两次点击的坐标,及其所围成区域的长度、宽度。注意在点鼠标的过程中要一 直保持Shift键被按住,出现对话框后才能松开。
  • 去除与边缘接触的黑色区域。有时候即使经过裁边、去斑,在边缘地带还是会有一些黑色区域(如手指),这时可以用此选项去除。此选项不管黑色区域的大小,只要与上、下、左、右四条边有接触,就删除之。因为效果太猛了,而且查找要去除的区域也需要时间,所以缺省未选中。
  • 边缘去毛刺。采用图像形态学的方法,按照事先设定的多种模板对二值化图像的边缘进行平滑处理,去掉突出的毛刺、填平某些凹坑。由于处理速度较慢,而且与高斯模糊的平滑效果各有千秋,所以缺省未选中。

对于纯黑白选项的补充说明:

  • 虽然Wolf算法对照度不均匀的图像具有一定的自适应能力,但对初学者建议还是尽量选择后面要说到的照度修正、照度归一对图像进行处理,然后再用Otsu等全局化算法进行二值化。
    原因很简单:Wolf算法的效果严重依赖于窗口尺寸的选择,不同的窗口尺寸会有不同的效果。所以对有经验的人来说,只要仔细选择窗口尺寸,Wolf算法的效果那是很好、很强大,尤其是在处理照度不均匀的图片时,效果绝对能甩其他全局阀值算法几条街。但对经验不足的初学者来说,还是选择四平八稳的算法组合更稳妥一点。
    当然对于比较有追求的用户,还是应该努力熟练掌握Wolf算法的使用,这个真的很好用。
  • 纯黑白图像的边缘部分难免有点毛刺,减轻毛刺的方法不止一种:可以增加高斯模糊半径,也可以勾选“边缘去毛刺”选项。我自己 一般两个都用。
  • 在把扫描的文字页面变成纯黑白时,建议务必先对图像进行放大。可以在“缩放”选项中进行,这个有最大200%的限制,也可以在“切边”进行,这个没有最大200%的限制。

16.照度修正

由于灯光照明或书籍弯曲的影响,整张扫描图像可能会出现明暗变化,如平板扫描时一般中缝部分较黑,用相机拍书则常常中间亮、四周暗。这种情况就是光照不均匀,或称“照度不均”,解决的办法就是照度修正,或照度归一:

  • 照度修正:基本思路是把整张图像的像素按x、y轴排列,亮度算z轴,成为一个三维曲面,然后按最小二乘法进行曲面拟合,算出光照曲面 (背景估计),据此对原始图像进行修正。这种方法对线形阴影、中间亮四周暗的情况修正比较好,但对两边亮、中间暗的情况修正不好 ,所以对于双页图像,需要先对页面进行切分,否则中缝搞不定。另外这种方法只能修正光照不均,如果纸张本身有背透,照片上有阴影,这种算法也修正不了。
  • 照度归一:这个其实是多尺度Retinex(MSRCR)算法,应用范围比上面的照度修正算法广,在人脸识别领域尤其流行,百度一下可以得到无穷多的相关论文、源代码,至于实际好不好使 那就是另外一回事了。要想理解“归一”的意思,看一下处理前后的直方图就一目了然:不论处理前的直方图是什么样,MSRCR处理后的直方图都会往正态分布曲线上靠,“归一”是中文的习惯译法,其英文原文是normolize,和“正态”是一个词。这种算法对光照不均、纸张阴影都有修正效果,但修正后往往整体图像发暗,因此在本软件中又做了一种修正:
  • 照度归一+增亮:在光照归一的基础上,对整体图像进行增量,使最大亮度达到255。
  • F.M.Retinex:即Frankle-McCann retinex方法,与MSRCR不同的是采用一维变长路径,通过迭代次数控制效果。在图像较大时速度较慢。
  • 黑白文字:这种算法可以解决“照度修正”算法的缺陷,对光照、阴影均能修正,把图像处理得黑白分明,因此比较适合处理黑白文字、表格、线条页面,但不适合处理插图页面,而且处理结果自动转换成灰度图像。
  • 黑白文字+红章:与“黑白文字”不同的是处理结果是彩色,而不是灰度。适合处理文字、表格、红头、红章页面,但不适合处理插图页面,因为插图中的大片色彩可能会被当做背景被处理掉,只留下线条。 如果图像对比度较低,全自动的“黑白文字”、“黑白文字+红章”可能会把图像中的细节误删,这个时候可以改用“调节”中的“去除背景阴影”,手工调节参数。

注意:

  1. 由于照度修正、照度归一速度较慢,因此如果目测原始扫描图像不存在整体性的光照不均,或者说中缝部分的黑边可以用切边搞定,就不要选择照度修正或照度归一,以免浪费时间。
  2. 如果搞不清该用哪个算法,就逐个试一下,看看实际效果再说。

17.加粗、变细、开、闭

  • 加粗:相当于Photoshop中的“最小值”滤镜。如果浏览的是纯文字页面(扫描电子书),并且笔画较细以至于影响阅读,可以选择“加粗”选项进行加粗。对于彩色画面,此选项会加深颜色。对于灰度图像,此选项可能会出现小灰斑。
  • 变细:相当于Photoshop中的“最大值”滤镜。可以使笔画、线条变细。
  • 开:先变细,再加粗。
  • 闭:先加粗,再变细。

18. 旋转
包括左、右旋转90度,及180度旋转(颠倒)、水平镜像、垂直翻转。

19. 自动色阶/自动对比度/自动亮度/自动漂白
对于彩色图像来说,有时会由于扫描亮度设置失当而造成画面发白,或由于纸张陈旧而造成画面偏黄。对于这种偏色画面,通常可以通过色阶调整进行校正。

本软件的“自动色阶”功能与PhotoShop的同名功能在算法上一致,但是在参数上与PhotoShop的缺省参数不一样,效果要更强烈一些。通过修改PhotoShop的缺省参数,可以达到相同的效果。

PhotoShop的“色阶”功能虽然强大,但色阶是基于直方图的变换,而每一张图像的直方图都可能不同,因此对于PhotoShop来说可以用“色阶”慢慢调节每一张图像,但对于本软件 的常规界面这种用一套参数处理一系列图片的情况,“色阶”显然不适用,只能用“自动色阶”。

自动色阶功能由于是对三原色直方图分别进行校正,因此校正后可能会出现偏色,如偏黄的校正后偏蓝。如果不希望出现偏色,可以选择“自动对比度”。自动对比度依据灰度直方图对三通道进行等比例调整,因此不会出现偏色。

自动亮度与自动对比度差不多,使用后也不会出现偏色,但对比度扩展没有自动对比度那么大,所以如果自动对比度出现了溢出(太亮),可以试试自动亮度。

自动漂白的目的只有一个,就是尽最大可能恢复“白底黑字”,因此作用比较强烈,尤其是对于因为光线不足或纸张发黄,导致背景灰暗的灰度图像。懒人碰到昏暗的图片时可以先试试这个,或者照度修正后再选这个。

20.表面模糊

和Photoshop里的同名功能差不多,作用是在保持文字、线条、色区边缘原有锐利程度基本不变的同时,对相似色区进行模糊,使图像更平滑。

界面上参数的含义:

  • 遍数:指定对图像执行几次表面模糊,0表示不进行表面模糊。为了节省时间,一般建议不要用太大的半径,如果效果不满意,可以试试看增加遍数。
  • 算法:
    • Photoshop:与Photoshop中的“表面模糊”效果一致,算法总结见这里:
      http://bbs.redocn.com/thread-274838-1-1.html
    • 导引滤波:何凯明先生提出的“引导滤波”,具体算法详见他的论文《Guided Image Filtering》。 这种算法对内存需求相当大。
    • 选择性高斯模糊:参见著名开源图像处理软件GIMP中的“选择性高斯模糊”(Selective Gaussian Blur),但我仅仅是用了GIMP的思想,代码是不会去抄它的,它那个太慢了。现在这个在这几种算法里速度是最快的。
    • 选择性模糊:内存消耗、处理效果、处理速度与Photoshop第一个算法差不多,详见下面这个博客中的介绍:
      http://www.cnblogs.com/Imageshop/p/4694540.html
  • 半径:指定搜索邻域范围。
  • 阀值:阀值对边缘模糊程度有影响。较小的阀值模糊得不是那么厉害,较大的阀值会模糊得更厉害一些。

从速度考虑,建议优先选择“选择性高斯模糊”,半径和阈值从小到大,实在不行再换算法。

21.USM锐化

与Photoshop中的同名功能类似。与前面“锐化”、“调节->高斯锐化半径”的区别是:锐化、高斯锐化对图像的每个像素都是公平的,逐个像素用3×3或5×5、7×7及以上阶数矩阵做卷积,因此在使文字、线条边缘更锐的同时,其他地方也可能会锐得出现麻点。而USM锐化一般只对文字、线条边缘有影响,对图像其他地方基本没有影响,因此现在的Photoshop教程中逐渐建议用USM锐化代替常规锐化。

我见过对USM锐化的名称、原理、历史渊源解释得最好的是:
http://en.wikipedia.org/wiki/Unsharp_masking
看完之后再去看国内所谓“PS高手”的原理解释,荒谬感油然而生。

想搞懂原理的建议仔细阅读上面说的网页,才能知其然并知其所以然,当然嫌麻烦也可以先听听我的无责任简单解释:

  1. 原始图像记为A,把A复制一份记为B,在PS里相当于复制出来一个蒙版图层。
  2. 按照“半径”参数指定的半径值,对B做高斯模糊。
  3. 把模糊后的B与A逐点相减,差值的绝对值记为C。
  4. 如果C小于“阀值”的某个倍数,则说明A、B在该点上差异不大,不需要对A做什么改变。
  5. 如果C大于“阀值”的某个倍数,则说明A、B在该点上差异较大,则对A上该点像素做改变:
    A' = A + 数量 × C ÷100
    即“数量”是一个百分数,通过它将差异反馈回原始图像。

用过高斯模糊的都知道,模糊后变化最大的是文字、线条的边缘部分,内部变化反而不大,因此USM锐化通常只对边缘起作用。

界面上的参数解释:

  • 遍数:指定对图像执行几次USM锐化,0表示不进行USM锐化。为了避免锐化太过,一般建议不要用太大的半径、数量、阀值,如果效果不满意,可以试试看增加遍数。
  • 数量:作用见上面的简单解释,数量越大锐化效果越明显。
  • 半径:对蒙版进行高斯模糊的半径,适当小一点可以增加模糊效果。如果半径、数量都很大,那就没啥锐化效果,而是转变成“增加对比度”效果了,原因也很简单:在较大半径作用下,蒙版模糊得太厉害,已经没啥细节,差不多是纯色了,所以相当于对每个原始像素点增加或减少一个常量,拉伸了整体对比度。
  • 阀值:越小越有锐的感觉,越大越没啥锐化的感觉。

注意:USM锐化效果虽然比“锐化”和“调节->高斯锐化半径”的效果可能会好一点,但速度要慢一些,因此一般建议只有在“锐化”和“调节->高斯锐化半径”不能满足要求时,才选择“USM锐化”。

22.光线

“光线”这个功能从名字上来说是从ACDSEE PRO学的,因为我经常用它的Light EQ功能处理照片。但在实现时实在搞不懂ACDSEE的专利技术,所以最终学的是Photoshop中的“阴影/高光”滤镜,效果比ACDSEE Pro的Light EQ差了好几条街,但参数比Photoshop更简单、灵活。

“阴影”指的是图像中的暗部,往右增加会增亮暗部,出现更多的暗部细节;往左减小会使暗部变得更暗,泯灭暗部细节。一般在使用对比度、Gamma校正、色阶等功能拉伸对比度后,可以用这个功能找回一点暗部细节。

“高光”指的是图像中的明亮部分,往右增加会使明亮的部分更明亮,直至溢出成纯白色;往左减小会使明亮的部分变得不那么刺眼。

23.色调均化

其实就是直方图均衡化,不过采取了措施防止出现偏色。直方图均衡化一般针对动态范围不足、看起来比较灰暗的彩色图像,但不建议用于灰度图像——灰度图像处理结果会很糟糕,甚至恐怖。

24.后处理

图像经过处理后,可能会出现发白的情况,这个时候多半是使用Gamma校正等进行修正。但Gamma校正不能保证直方图分布合理,所以增加此选项,可以使处理后的图像直方图分布更合理。

25.以上参数仅用于当前窗口
有时候为了更好地比较处理前后的效果,可以在打开图像文件后点“窗口->新建窗口”菜单,创建当前图像的副本,然后勾选“以上参数仅用于当前窗口”,这样原始窗口的处理效果就不会影响副本窗口,可以来回切换进行比较。

在批处理界面中还包含如下选项:

26.包括子文件夹
如果此选项被选中,则批处理时自动对所选文件夹及其子文件夹下的所有图像文件进行处理,并在目标文件夹下创建相同的文件夹结构;否则只处理所选文件夹下的图像文件。

27.复制文件日期、时间
如果选中,则结果文件与源文件具有相同的文件日期、时间;否则结果文件的日期、时间为当前系统日期、时间。

28.DPI
在目标文件中写入的DPI值。此参数的缺省值是在“切边”的“页面大小”中指定的DPI值,但如果仅仅在批处理界面中更改DPI值,不会对图像产生缩放作用,只会更改生成的图像文件中的DPI字段的值,而在“页面大小”中指定的DPI值则可能会更改图像大小。

如果想批量修改图像文件中DPI字段的值,可以选择“文件->批量设置DPI”菜单,这个也同样只是改一下图像中记录的字段值而已,不会对图像进行缩放 ,详见下面的具体说明。

图像增强参数的作用顺序

本软件依照下列先后顺序处理每一张图片:旋转、分页、页面矫正(包括梯形矫正或弯曲页面展平)、纠斜、切边、颜色替换、通道互换、反白、通道混合、照度修正、 去除背景阴影、白平衡、放大、 色阶(包括自动色阶/自动对比度/自动亮度/自动漂白)、自然饱和度、高亮度、亮度、曲线调节里的强力去背景、对比度、曲线调节、Gamma校正、光线、多尺度细节增强、后处理、色调均化、加粗/变细、柔化、调节中的高斯模糊、表面模糊、缩小、锐化、调节锐化、USM锐化、减色、 去斑、去黑区、、去毛刺、页面排版、存盘。

如果需要批量处理的顺序与上述顺序不同,可以采用多遍处理的方法,即第一遍处理后,再进行第二遍处理,中间结果存储为无损压缩的PNG格式,以免损失。 如果想查看已经设置过的参数,或想与他人分享自己的参数设置,可以点“参数”按钮,将按照图像增强参数的作用顺序显示所有设置过的参数。

如果奇偶页需要处理的参数不同,对于“常规”界面可以将奇偶页复制到不同的文件夹,然后再处理。下面这个批处理命令将奇数页文件(文件名以1、3、5、7、9结尾)移动到odd文件夹:

for %%a in (1 3 5 7 9) do move *%%a.* odd

下面这个则将偶数页文件(文件名以2、4、6、8、0结尾)移动到even文件夹:

for %%a in (2 4 6 8 0) do move *%%a.* even

当然在此之前要先创建好odd、even文件夹。

对于“扫描书籍处理”界面则很简单,在“应用”时选择“当前图像之后的所有图像,间隔2”。

存盘文件类型的选择:

  • 对于纯黑白图像,存为TIFF可以获得最佳压缩比,而且是无损压缩;
  • 对于24位彩色、256级灰度图像,可以存为有损的JPG,也可以存为无损的PNG;
  • 对于其他色彩数,建议存为PNG。
  • 如果在批处理对话框的“新文件扩展名”中选择了“自动”,则在源文件类型与当前色彩数(色深)相匹配时,优先选择与源文件类型相同,否则自动按照色彩数选择文件类型:16位色存为BMP,24位色、256级灰度存为JPG,其他存为PNG。

对各种图像文件格式的解释参见我写的《乱谈常见图像格式》。

批量设置DPI:

目前“批量设置DPI”功能允许批量设置BMP、PNG、JPG、TIFF文件的DPI,但有一些限制:

  • BMP:这个比较简单,直接更改BITMAPINFOHEADER结构体的biXPelsPerMeter、biYPelsPerMeter字段,因此速度飞快,也不存在兼容性问题。
  • PNG:这个就没这么简单了,因为不是所有PNG文件都有phys段,所以采用了笨的方法:把PNG文件解码,设置DPI后重新编码、存盘。所以速度会慢一些,文件长度也可能会变化。好在PNG格式是无损压缩,无论解码、编码多少次都不会对画面造成影响。
  • JPEG:为了简单起见,只对JFIF格式的APP0段(FF E0)中X_density、Y_density、density_unit字段进行更改。不支持EXIF段中的DPI描述,对于没有APP0段的JPG文件也无能为力。
  • TIFF:只支持单页TIFF,多页TIFF只设置第一页的DPI。不支持采用JPEG压缩的TIFF文件。另外某些扫描或传真图像 横、竖方向DPI可能不同,用此功能则强制设置为相同。

总之,如果需要设置的BMP、PNG、JPEG、TIFF文件都是用本软件生成的,用“批量设置DPI”功能更改DPI是没啥问题,用其他软件生成的就要看运气了。另外此功能仅仅是改变了DPI值,对图像的像素尺寸没有任何影响。

特例:如果输入的DPI是0,则BMP、JPG、TIFF都是强制置为0,PNG文件则是删除phys段。 如果用本软件处理后的图像插入Word、PPT等文档中出现自动缩小的情况,可能是因为设置了高DPI,则可以用本功能先把图像DPI清零,然后再插入Office。

查看直方图与统计图像颜色数:

点击工具条上的“显隐直方图”按钮,可以显示或隐藏直方图:

  • 直方图缺省显示R、G、B、灰度共四个通道。
  • 点击直方图上方的按钮,可以显示或隐藏对应的通道。
  • 如果直方图的最大值与最小值差距较大,小值可能会太贴近横轴而看不出来,这时可以勾选“log”选项,把所有的数值取对数,就可以缩小差距。

点击工具条上的“颜色数”按钮,可以统计当前图像中的颜色数,及RGB通道或灰度通道的颜色统计特征量。如果图像没有经过处理,则统计值只有一组,否则有两组,一组是原始图像的颜色统计,另一组是当前图像处理结果的颜色统计。

图像尺寸统计:

点击工具条上的“图像尺寸统计”按钮,即可对指定文件夹下的图像尺寸、DPI等进行统计,并报告最大值、最小值。然后可以根据所报告的统计值,批量更改图像大小,或设置统一的DPI。每个文件的详细信息会在列表中显示,点击“导出”按钮可以把列表导出为以制表符(TAB)为分隔的文本文件,再导入到EXCEL中可以进一步进行排序、分析。

如果勾选“含BPP和颜色数”,则会对文件逐一解码,获取图像中每像素所占位数(bits per pix, BPP),及图像的实际颜色数。另外解码后也能更准确地统计图像DPI,如果图像中不含DPI信息,则DPI信息显示为空。如果图像解码失败,则BPP、颜色数显示为空,所以此功能也可用于批量检查图像文件是否正常。当然图像解码需要时间,所以感觉速度会比不勾选此选项要慢,因此缺省情况下此选项未勾选。

图像比较:

选择“文件->图像比较”菜单项或点击工具条上的对应按钮,可以打开单独的窗口,比较两个图像——有些时候图像有损、无损之类的口说无凭,不如实际比较一下。

图像比较功能包括下列要素:

  1. 源文件1、源文件2

需要比较的两个文件,源文件1在计算“相似度”时作为模板。为了计算方便,两个文件将先转换成灰度或24位色,然后再进行比较。

  1. “比较”按钮

选择了源文件1、源文件2后,点击此按钮开始定量比较。比较结果包括:

  • 图像差值绝对值的统计量:源文件1的像素值减去源文件2的像素值,并对结果取绝对值,得到一个结果数组,然后统计这个数组的统计特征量,包括最大值、平均值、标准差。对于单通道图像(灰度图像),结果数组是个一维数组,所以统计特征量也只有一个。对于24位真彩图像,结果数组是个三维数组(R、G、B三个通道分别计算),所以统计特征量也显示3个,即各通道分别计算 ,按照R、G、B顺序排列。
    均值、标准差只针对不同的像素,即差值数组中的零值不参与统计。
  • 相似度:这个其实是论文《A Universal Image Quality Index》(Z.Wang, A.C.Bovik. IEEE Signal Processing Letters, vol.9, No.3, March 2002, pp.81-84.)中提出的算法,比较两个图像的相似度。各通道分别计算、显示。结果值的范围是-1~1,越接近1说明两个图像越相像,值为1则说明两个图像完全相同。

对于图像差值绝对值的统计量,又提供以下一些可视化和数据导出工具:

  • 直方图,即结果数组的频数统计直方图,从中可以看出图像差异值的分布。为了避免大量相同像素在直方图中把其它频数压得过低,此直方图显示时不含0点的值,即X轴的取值范围是[1, 255]。如果这样还出现“一枝独秀”的情况,可以勾选“log”选项,对频数取对数以缩小差距。
  • “差异图像”按钮,点击可以保存一个图像,其像素取值是两个图像差值的绝对值。打开这个图像,如果看到的是黑漆漆一片,肉眼看不出有什么内容,那么说明两个源图像的差异用肉眼基本看不出来,可以认为是“视觉相同”或“视觉无损”的。否则就是“视觉有损”,肉眼看到的部分就是差异明显的部分,而且看得越清楚差异就越明显。必要的时候可以用本软件的图像处理功能对差异图像进行处理,以看得更清楚一点。
  • “全图差异列表”按钮,点击后保存一个CSV文件,可以用Excel打开,彩色图包括Y、X、R、G、B列,灰度图像包括Y、X、Gray列,分别列出像素坐标值及差异图像的像素值。CSV文件可以在Excel中进行数据分析,也可以导入其它软件生成三维分布图等。
  • “非零差异列表”按钮,与“全图差异列表”按钮功能相似,只是生成的CSV文件中不含0值像素,即两个源文件相同处的坐标和值。
  • “差异分布表”按钮,点击后生成一个CSV文件,以二维表的形式列出差异图像的像素值,其中第一行是像素的水平坐标,第一列是像素的垂直坐标,中间的格子里是像素值。灰度图像只有一个通道,因此生成的CSV文件名就是用户所输入的文件名,彩色图像有3个通道,因此会生成3个文件,在用户输入的文件名后依次加_R、_G、_B后缀。
  • “统计频数”,点击后生成一个CSV文件,其中的数值是直方图中的频数,包括直方图中不显示的0值。用Excel打开可以看到具体数值,也可以 在Excel里重新生成统计直方图。

从v5.07开始,又提供“批量比较”功能,可以比较两个文件夹下文件名相同的文件,并以表格的形式报告比较结果,点击“导出列表”可以导出为以TAB字符为分隔的Unicode编码纯文本文件:

  • 在“图像比较”界面中点击“批量比较”按钮,或按住Ctrl键点击工具条上的“图像比较”按钮,均可进入“批量比较”界面。
  • 在“批量比较”界面中双击结果表格行,将打开“图像比较”界面,显示着两个文件的差异。

四、CEP_书籍处理

点击“常规”界面工具条上的“扫描书籍处理”按钮, 或者双击桌面上的“CEP_书籍处理”图标(前提是已经按照前面说明在桌面上创建了快捷方式),可以打开单独的窗口,实现书籍处理功能。 如果想软件运行后直接进入书籍处理界面,可以以命令行参数-book启动本软件。 在-book参数后还可以带一个文件夹路径,启动后自动以此文件夹为源文件夹。如果源文件夹中已经有项目文件ComicEnhancerPro.prj,则启动后自动打开它。

与“常规”界面相比,“书籍处理”界面有以下不同:

  1. 处理对象不同。“常规”界面主要是对已经处理过的图像文件(如从网上下载的扫描电子书)进行二次处理,而“书籍处理”则是对原始扫描图像,或者用手机、相机拍摄的原始图像进行处理,因此具有分页、页面矫正等基础功能,但排版、图像处理等就都一样。
  2. 操作方法不同。“常规”中所有图像共用同一套参数,不能针对某个文件进行特殊处理,这比较符合图像二次处理的情况。而“书籍处理”允许对每一页单独设置处理参数,以获取最适当的效果。当然为了减少麻烦,一般也是搞定一页以后,点击“应用”按钮把该页的处理参数批量复制到其他页,其他页在此基础上进行微调。
  3. 管理方式不同。“常规”因为主要是针对图像二次处理,来来去去就那么几种情况(因为来来去去就那么几个来源),所以没有必要为每一本书建立档案,只要保存几组参数,看情况调入即可。而扫描书籍的情况可能每本书,甚至每一页(如手持手机拍摄)均不同,所以要引入“项目”的概念进行管理。一个项目就是一个文件夹,里面存放一本书所有页 的图像文件,把每一页的处理参数都记录下来存入该书的项目文件ComicEnhancerPro.prj里。并且在“参数设置”中还可以选择自动保存项目文件,及在启动时自动调入上次退出时的项目,便于一次处理不完时下次接着处理。

而在界面显示上,“书籍处理”的用户界面大致可以分为左侧、右上、右下三个大区,下面分别加以介绍。

左侧是主要功能区,体现了“书籍处理”的主体功能。具体而言,“书籍处理”按照以下逻辑对处理过程进行管理:

  1. 每一本书中的所有页的图像文件均存放在“源文件夹”,处理后的结果存放在“输出到”文件夹。正常情况下这两个文件夹不相同,这样可以实现对书籍图像的无损处理——全部参数均记录在源文件夹中的项目文件里,处理后的文件不会对源文件产生覆盖,如果以后觉得自己的图像处理水平有长进,还可以打开原来的项目文件,重新调整参数,再次输出。
  2. 如果觉得有必要,可以对输出文件重新编号。这个功能对手机、相机拍摄的图像文件比较实用。新文件名的格式为:前缀xxxx后缀.扩展名。其中xxxx是数字,可以指定数字的起始值、增量、位数,位数不足时自动补0。如果奇数、偶数页分开处理,可以对奇数页设置起始为1,增量为2,偶数页设置起始为2,增量为2。
  3. 文件夹中需要处理的图像文件罗列在文件列表中,如果有必要可以通过文件列表下方的工具条按钮调整列表中的文件顺序,或插入、删除文件。
  4. 当前图像文件的处理参数显示在文本框中,并且可以通过文本框右侧的按钮实现参数的保存、调入、复制等。
  5. 用户通过左下方一堆页签中的图像处理功能,包括分页、矫正、排版、图像处理、输出等,对图像进行处理。每一个页签就是一个大的图像处理步骤,操作时应该按照从左至右的页签顺序进行操作,内部处理顺序也是这样的。
  6. 所有图像处理完毕,即参数设定完成后,点击文件列表下方工具条上的“批量转换”按钮,可以对全部文件进行批量转换。

整个书籍的处理操作流程就是上述逻辑的体现:

  1. 把需要处理的源文件夹拖拽过来,或者点击“源文件夹”框右侧的按钮选择打开,软件会自动填充文件列表。
  2. 如有必要,则设置输出文件选项,包括输出到的文件夹、是否重新编号、编号规则等。
  3. 剩下的就是按照“从上到下、从左到右”的顺序对图像进行处理。即把文件列表中的文件按照从上到下的顺序点一遍,同时对于每一个文件,都把左下角的图像处理页签点一遍,逐项设置图像处理参数。
  4. 最后点击中间工具条上的“批量转换”按钮,按照所设定的参数一次性输出全部处理结果。

当然如果真按照上述步骤3的说明逐页、逐项去点,估计很快就不会再有人想使用本软件了。所以一些必要的小技巧还是应该了解一下:

  1. 纸张:双页图像自然不用说,即使是单页图像,只要图像中有中缝,“分页”也是一定要点的。正确的分页是之后所有处理的基础,基础不准确就是在沙滩上盖高楼。
  2. 页面:根据需要选择自动梯形矫正或自动展平后,鼠标拖拽右侧图像上的控制点(绿色方框)可以手工对矫正结果进行调整。如果对手工调整结果不满意,点击“自动”按钮可以再次进行自动矫正,点击“恢复”按钮则清除所有操作。
  3. 自动矫正一般比较费时,偷懒的办法是:先对文件列表中的第一个图像文件进行分页、自动矫正,然后点击“应用”按钮,把该文件的参数应用到所有图像,再点击中间工具条上的“批量转换”,然后你该干嘛就干嘛去。等批量转换完成后,你再点击文件列表中的其他文件,就可以直接看到自动矫正以后的结果,不用再等待自动矫正过程,看了觉得不满意再改就方便 得多。当然前提条件是在“设置”对话框的“应用/复制中对分页、页面矫正参数的处理”项选择了“自动”。
  4. 版面、图像、输出:和“常规”界面中的图像处理参数差不多,一般都是设置好一个图像文件后,点击“应用”按钮,把参数批量复制到其他文件, 然后再点其他文件看看效果,差不多就过了,不行再单独改。注意如果前面针对分页、矫正已经手工做过调整,这里再点“应用”的时候,就不能选“所有参数”,而必须选“当前页签”或“当前页签及之后页签的所有参数”,否则就会把手工做的矫正冲毁。

中间工具条各按钮的解释:

  • 第一页、上一页、下一页、最末页:用于翻页,即改变文件列表中的当前文件。用键盘或者在图像显示区双击也可以翻页:双击图像显示区左侧可以前翻页,双击右侧则后翻页。
  • 当前页移到顶部、当前页上移一行、当前页下移一行、当前页移到尾部:改变当前文件在文件列表中的位置。重新编号时将按照文件列表中当前的文件排列顺序进行编号。
  • 从列表中删除当前项:从文件列表中删除当前文件,但文件本身还存在硬盘里不动。
  • 删除文件:不仅从文件列表中删除当前文件,而且从硬盘上物理删除该文件。
  • 在当前文件之后添加新文件:通常用于补页。
  • 重编号目标文件:在补页或调整文件顺序后,点击此按钮可以对文件列表中的文件,按照重新编号的规则进行编号。
  • 保存当前项目:保存当前的所有处理参数,防止丢失。可以点击右上方工具条的“设置”按钮设置自动保存间隔,就不用经常手工保存。参数保存在源文件夹的ComicEnhancerPro.prj文件里。
  • 批量转换:按照当前参数,对所有图像进行转换,输出到文件夹。转换前会自动先重新编号,然后再转换。

处理参数框右侧各按钮的解释:

  • 保存、调入:保存、调入当前的处理参数。这个与“常规”界面“参数”对话框中的同名按钮相同,可以保存、调入常用的处理参数,免得每次都要从头设置。
  • 复制:对当前处理参数进行复制。复制的信息有两份,一份是内部格式,可以用下面的“粘贴”按钮粘贴到其他页的图像文件,另外一份是纯文本格式,可以粘贴到其他文本编辑器,便于与他人共享参数。
  • 粘贴:用从其他图像文件中复制的处理参数,替换当前图像文件的处理参数。
  • 恢复:清除当前图像文件的所有处理参数,使图像还原。
  • 全部恢复:清除所有图像文件的所有处理参数。
  • 应用:把当前图像文件的处理参数,有选择地复制到其他图像文件,免得逐页设置太累。界面上的文字足够直观,就不详细介绍了。

左下角各页签中都有一个“恢复”按钮,与参数框右侧的“恢复”按钮的区别是:

  • 页签中的“恢复”按钮只复原该页签内的参数,对其他页签的参数无影响。
  • 参数框右侧的“恢复”按钮复原整个图像的所有参数,即所有页签内的参数均被撤销。

左下角各页签其实反映了一个规范性的书籍处理步骤,即从左到右就是一个完整的处理过程。对各页签中参数的解释:

  • 纸张:对纸张方向进行旋转,对页面进行切分。双页当然是点“双页左翻”或“双页右翻”,千万要注意的是即使是单页图像,只要图像中含有中缝,就务必要点“单页”,把中缝去掉。鼠标拖拽右侧图像中的控制点(绿色方框)可以手工调制分页线。手工调制分页线后,点击“自动”按钮可以再次自动计算分页线。
  • 页面:对页面进行梯形矫正,或弯曲页面自动展平。鼠标拖拽右侧图像中的控制点(绿色方框)可以手工矫正或展平,拖拽后点击“自动”按钮可以再次自动矫正或展平。

    “梯形矫正”与“梯形矫正+裁切”的区别
      “梯形矫正”能保证把自动计算找到的四条直线构成的四边形矫正成矩形,但矫正后不可避免的会比原来的图像多出一些区域,这些区域先用深色填充,方便在“版面”中自动裁边,后续会替换成“版面”中指定的“填白所用色”。而“梯形矫正+裁切”则会在矫正后,自动对结果图像进行裁剪,只保留四条边中的内容, 四条边之外的其他部分全部裁掉。

    与梯形矫正相关的选项:
      〉尺寸:只有在选择“梯形矫正+裁剪”时才可用,用于控制裁剪后的图像尺寸和比例。
      〉“指定尺寸”按钮:只有在“尺寸”为“指定比例和宽度”、“指定比例和高度”、“指定宽度”、“指定高度”、“指定宽、高”时才可用,用于控制裁剪后的图像尺寸。
      〉比例:只有在“尺寸”为“自动,指定比例”、“指定比例和宽度”、“指定比例和高度”时才可用,用于控制裁剪后的图像比例。

    与页面展平相关的选项:
      〉自动展平方法:自动展平时需要先寻找能代表页面“弯曲程度”的横向特征,这个特征可以是弯曲的横向文本行,也可以是弯曲的页面上下边界;然后再寻找竖向特征,即横向特征的左右边界,结果就构成一个封闭的上下是曲线、左右是直线的区域(模型),类似于梯形矫正所找到的四边形,然后再把这个区域矫正(映射)成矩形,就实现了自动展平。“自动展平方法”选项,其实就是指定如何去找这个横向特征和竖向特征:
        ○“扩展文本行”会先去跟踪横向文本行,然后以文本行的左右边界作为竖向特征,在这个左右边界内再找页面边界曲线,作为文本行跟踪结果的补充,以免文本行的“弯曲”程度不够有代表性。所以用这个方法找出来的模型,上下曲线有时候落在文本行上,有时候落在页边界上。
        ○“文本行”只对横向文本行进行跟踪,并以文本行左右端点确定左右边界,不会去跟踪页边界,所以可以节省一点时间,而且所建立模型的上下曲线都会落在最有代表性的文本行上。
        ○“页边界”则不管页面内部是什么,一门心思只去寻找页面边界,并从页面边界曲线的形状来确定左右边界,所以所建立模型的上下曲线都落在页面上下边界上,左右边界则与文本行无关。
        ○“干净文本行”:对于常规页面照片,为了避免页边界曲线或背景对文本行跟踪造成影响,“文本行”、“扩展文本行”在跟踪结果中,都会去掉上、下几条曲线。但如果书籍照片是用扫描王等带图像增强功能的手机软件拍摄,软件会自动把照片处理得黑白分明,页边界也会被裁减掉,这个时候如果再去掉上、下几条曲线,就有点可惜,所以提供此选项,只做文本行跟踪,不对跟踪结果进行修剪。
        自动展平方法的选择建议:对文本行的跟踪一般比较准确,但需满足特定条件,包括:文本行只能是横向的,竖排文本行没戏;文本行必须足够长,并且有足够数量的相同长度的文本行,否则左右边界会找不到或找不准;当然最主要的是必须有文本行,碰到纯插图页面就麻爪了。而对页边界的跟踪就要相对更自由,不管文本行是横排还是竖排,不管是不是纯插图页,只要页边界曲线是清晰、完整的即可,但目前的问题是根据页边界曲线找左右边界时容易受干扰,可能会不准。所以一般的选择建议是:优先选择“扩展文本行”并点“应用”进行批量复制,再点“批量转换”先来一波,逐页看一下矫正效果,能够接受就接受,如果不能接受就再换成另外 几个试试看,在页边界清晰的情况下“页边界”应该优先于“文本行”。所以用手机拍书的时候务必注意,一定要把页边界拍得完整、清晰,不然不好矫正。另外中缝是自动展平的大敌,有它的干扰就很难建立起准确的模型,所以在自动展平前务必请先分页。 但如果照片是用扫描王等软件拍摄的,完全不存在页边界曲线,背景也干干净净一片白,则应该直接选择“干净文本行”。
      〉光照:在“自动展平方法”选择“扩展文本行”、“文本行”、“干净文本行”后, 根据页面的横向光照情况选择此选项。在跟踪文本行之前要先对图像二值化,但 如果页面上存在横向光照不均匀,例如左半边黑、右半边亮,或者两边黑、中间亮,则在二值化后可能会在亮区造成文本行中断,影响文本行跟踪效果。所以设置了不均匀、一般、均匀三种选项,内部对应三组经验值,用于解决 横向光照不均匀问题。选择建议:先选“一般”,如果展平失败再选“不均匀”或“很均匀”。当然如果经验丰富,一看页面就是一半亮、一半暗,直接选“不均匀”也可以。 在选择“干净文本行”时,页面上应该是看不出光照情况,背景就是一片白,但受内部算法影响,选择不同的光照选项仍然能够对跟踪结果造成影响。
      〉自动1: 自动展平对曲线形状的跟踪一般比较靠谱,但对左右边界的判别有时候可能会出点问题。所以如果自动展平后看到左右边界不准确,可以手工拖拽上下曲线的左右端点,然后点击“自动1”按钮,就会自动按照拖拽后的左右边界重新自动展平。

    公共选项与按钮:
      〉网格:按照指定的间隔显示网格线,作为检查或手工进行梯形矫正、页面展平的参考。
      〉自动:如果因为手工拖拽,把梯形自动矫正或者页面自动展平的结果搞乱了,点击此按钮可以重新自动矫正或展平。
      〉恢复:点击此按钮,则矫正、展平参数全部复位,回到“无矫正”状态。
      〉结果:显示经过矫正、裁边、展平后的结果页面的像素尺寸。
     
  • 版面:这个其实就是原来的“切边”,只不过换了一个名头。
  • 图像:这个页签集中了“常规”界面中的绝大部分图像处理功能,具体见前述。其中只有“色阶”是“书籍处理”界面独有的。而色阶中的自动色阶选项与前面“常规”中的一样,关键是手动色阶:鼠标点击白点 图标,然后在图像中点击取色,可以把所选色矫正成纯白色,专门对付各种偏色(偏黄、偏蓝、偏红等)、纸张阴影等;鼠标点击黑点图标, 然后在图像中点击取色,可以把所选色矫正成纯黑色,防止文字、线条被白点带得发白。鼠标拖拽直方图下面的滑块,还可以手工对各通道直方图进行裁切。有人把曲线、色阶比喻成Photoshop双壁,所以这方面的文章、教程很多,有兴趣可以看看。
  • 输出: 表面上看这个功能只是把“常规”界面中的“JPG质量”、“色彩”般了过来,其实最关键的是右下方的“输出”按钮,点击这个按钮可以实际输出一次当前图像,并报告 原文件长度、结果文件长度,右侧结果图像也会刷新,所以可以直观看到不同JPG质量系数对文件长度和图像质量的影响。 另外从v5.03开始,每次点“输出”按钮先保存当前项目,然后再输出当前文件,防止出错。

右下区域是整个用户界面上最明显的图像显示区,显示当前处理步骤(功能页签)的原图和处理结果。在某些步骤(如纸张、页面、版面)将强制两图并列显示,某些步骤(图像、输出)则可以选择是覆盖显示还是并列显示。 鼠标双击图像显示区左侧可以前翻页,双击右侧则后翻页。

右上区域包括下列元素:

  • 结果、原图页签:用来控制右下方的图像显示,在覆盖显示时点击页签将显示对应的结果图或原图。
  • 显示方式:可选自动、重叠、并排。“重叠”即只显示结果图或原图,通过“结果”和“原图”页签进行切换;“并排”即左右并排显示两个图像,顺序与页签相同,即结果图在左,原图在右;“自动”则由软件自动判断应该如何显示。
  • 显示比例:控制两个图像的显示比例。两个图像可以选择不同的显示比例。
  • 工具条:包含下列按钮:
    • 设置:这个下面单独讲。
    • 图像尺寸统计:对指定文件夹中的图像进行统计,包括长度、宽度、DPI等。
    • 显隐直方图:显示、隐藏直方图。
    • 颜色数:对当前图像的颜色数进行统计。
    • JpegQuality:启动与ComicEnhancerPro.exe放在同一个文件夹下的JpegQuality.exe,查看当前JPG文件的质量系数等。
    • 关于:显示ComicEnhancerPro的版本信息。
    • 帮助:打开本帮助文件。

“设置”对话框中各选项的解释:

  • 项目自动保存间隔:每隔多少分钟自动保存一次当前项目,防止因为掉电或其他意外造成白辛苦。选择0则取消自动保存,只能手工点击左侧中间工具条上的“保存”按钮保存。
  • 退出时自动保存项目文件:选中则每次退出时都自动保存,否则不保存。
  • 启动后自动调入上次退出时的项目:选中则下次启动时自动恢复到上次退出时的处理现场,否则启动后每次都是空界面。
  • 应用/复制中对分页、页面矫正参数的处理:在点击左侧“应用”、“复制/粘贴”按钮,对当前图像处理参数进行复制时,用此选项控制如何处理分页、页面矫正参数:
    • 自动:所有被复制的分页、页面矫正参数都将被设置为“自动”,即自动分页、自动梯形矫正或自动页面展平。
    • 复制当前参数:严格复制当前图像文件的分页、页面矫正参数,当前图像说从中间哪一点分页,复制过去的图像就从哪一点开始分页。
    • 保留原值不变:参数复制时将自动过滤分页、页面矫正参数,防止辛辛苦苦手工矫正过的参数被冲毁。
       

五、CEP_图像拼接

点击“常规”界面工具条上的“图像拼接”按钮, 或者双击桌面上的“CEP_图像拼接”图标(前提是已经按照前面说明在桌面上创建了快捷方式),可以打开单独的窗口,实现图像拼接功能。 如果想软件运行后直接进入图像拼接界面,可以以命令行参数-merge启动本软件。

图像拼接功能包括下列要素:

  1. 需要拼接的源文件

如果源文件都在同一个文件夹里,直接选择“源文件夹1”或从资源浏览器中拖拽过来即可。如果文件分左、右页存放在不同的文件夹里,则需勾选“源文件在不同文件夹里”选项,然后选择“源文件夹1”、“源文件夹2”。

如果只希望对源文件夹中的某种文件进行操作,可以通过“源文件”选择指定的文件类型,对源文件夹中的文件进行过滤选择。

选定源文件夹和源文件类型后,先筛选出所有所有符合条件的源文件,再按照资源管理器中的文件名顺序进行排序,然后显示在左下方的源文件列表中。 如果源文件夹只有一个,则列表中的顺序就是排序后的顺序。如果源文件夹有两个,则在分别对两个文件夹中的文件进行排序后,交错出现在文件列表中。

缺省时源文件列表中的所有文件从第一个文件开始,前后两个文件拼接在一起,但也可以手工排除某些不想拼接的文件:在源文件列表中,每个文件前面有一个选择框,只有勾选的文件才参与拼接,没有勾选的文件将不与其他图像拼接,而是直接原样复制到目标文件夹。所以对于不想拼接的文件,直接用鼠标去掉文件名前面的勾选即可。

文件列表中所选中的图像会在右侧预览区显示,包括其拼接效果。鼠标点击源文件列表上方的翻页按钮,或用键盘上的PgDn、PgUp键可以翻页,Home键翻到第一页,End键翻到最末页。

如果勾选了“显示边框”选项,则在预览时会用绿色方框显示源文件的位置和大小。

  1. 拼接后的目标文件

通过“目标文件夹”选择存放目标文件的文件夹,通过“新文件扩展名”选择目标文件的格式。

如果“新文件扩展名”选择“自动”,则按照如下规则决定目标文件的类型:

  • 如果两个源文件的类型相同,比如说都是JPG或都是PNG,则目标文件的类型与源文件相同。
  • 否则,纯黑白保存为TIFF,24位真彩或256级灰度存为JPG,其他的存为PNG。

JPG、JPEG 2000(JP2)可以用“JPG质量”、“JP2压缩”参数控制最终文件长度。JPG可以点击“设置”按钮对质量和文件长度进行更细致的控制。

另外在存储目标文件时,自动按照处理后图像的实际色深,选择最小色深进行减色处理。

在设置DPI时,如果为0则从源文件中读取DPI,否则按照指定值设置目标文件的DPI。

  1. 拼接选项

首先,需要指定如何进行拼接,即通过“排列”选项指定两页的相对位置,包括上下排列、左右排列等。

其次,如果参与拼接的两页大小不一致,则需通过“尺寸不一致时”选项说明解决办法:

  • 填白:两页尺寸不变,空白的部分填白。填白所用色由“填白使用色”指定。
    此时由于两页尺寸不一致,因此还需要通过“对齐”选项来选择两页的对齐方式。
  • 放大:放大尺寸较小的页面,使两页在拼接处的尺寸一致。
  • 缩小:缩小尺寸较大的页面,使两页在拼接处的尺寸一致。
    放大、缩小后不存在对齐的问题,因此“对齐”选项无效。

“对齐”选项的说明:

  • 只有在“尺寸不一致时”选项为“填白”时,“对齐”才有意义,否则无意义。
  • 在“排列”选项为横排(左右、右左)时,对齐选项的值依次是:
    • 下齐、上齐、居中
  • 在“排列”选项为竖排(上下、下上)时,对齐选项的值依次是:
    • 左齐、右齐、居中

另外“对齐”选项还受到“扩边”选项的影响:

  • 如果勾选了“扩边”,则“对齐”只是参考,在对齐后仍然可以平移图像,并且最终图像尺寸随着平移而变化。例如选了“居中”,并勾选了“扩边”,则确实情况下图像按照居中对齐,但用户仍然可以在自动居中后平移图像,向里移动时最终图像变小,向外移动时最终图像尺寸扩大,并对空白处进行填充。
  • 如果没有勾选“扩边”,则严格按照“对齐”选项进行对齐,并且固定最终图像尺寸。例如选了“居中”,但没有勾选“扩边”,则图像只能沿横向(横排时)或竖向(竖排时)平移,平移是严格保持居中,平移出原图像位置的部分将被裁剪,空白处进行填充。

最终生成的目标文件的像素尺寸、色深会在源文件列表上方的显示条中显示,在选择不同选项时请注意查看该参数的变化。

因平移而产生出来的空白用“填白所用色”进行填充。

然后,还需要指定对中缝的处理:

  • 参与拼接的页面如果没有经过“切边”处理,存在中缝阴影等,可以勾选“自动清除中缝”,然后按照“切边”处理的规定指定参数。由于切边实在是太慢,会影响到后续拼接操作的流畅性,因此建议最好在拼接前先做好切边操作,不要到拼接的时候才切边 。
  • 通过“中缝”选项选择是否要在两页之间插入空白。该参数的单位是像素,0表示不插入空白,其他数值则表示在拼接处插入指定像素宽度/高度的空白区域。空白区域的颜色是“填白所用色”指定的颜色。
  • 如果需要拼接帝图像有歪斜,可以旋转图像,最多正负5度,旋转产生的空白用“填白所用色”填充。
  1. 拼接操作

如果要求不高,设定上面的参数后自动处理即可。但如果要求较高,例如需要对齐传统竖版的中缝燕尾,则还要手工进行操作,才能拼接得严丝合缝。 右上角的预览框内会显示当前鼠标光标所在位置为中心的原始图像,便于进行细致操作时查看对齐效果。

理论上说,图像的基本几何变换包括平移、缩放、错切、旋转(旋转也可以简化为几次错切)等,但为了减少操作难度和增加处理时的流畅性,本软件在拼接时只允许平移、缩放。如果图像有歪斜等缺陷,请先用“切边”中的“纠斜”处理后再来拼接。

拼接操作的平移、缩放可以有多种操作方式,适应不同人群的需求:

  • 按钮操作。用鼠标点击“左/上页面”、“右/下页面”框中的四个平移按钮、两个缩放按钮,即可对指定页面进行平移、缩放。平移、缩放的偏移量会在对应框的下方显示。点击偏移量显示框右侧的“清除”(红叉)按钮,可以清除所有偏移量,即去除该页的平移、缩放操作效果。
  • 鼠标操作。在需要操作的页面上点击鼠标左键,中间的红色虚线框表示该页是当前操作页。然后滚动鼠标滚轮可以缩放当前页面,鼠标拖拽可以平移当前页面。
  • 键盘操作。W、S、A、D键平移当前页面,上、下箭头键缩放当前页面,左、右箭头键切换当前页面(带红色虚线框的页面) ,Del键删除当前页面的所有操作。

通常按钮操作的反应是最慢的;鼠标操作比较灵敏,但难以进行细致的控制;键盘操作则比较适中。

注意平移、缩放会受到前面选项的限制:如果“尺寸不一致”选择了“放大”或“缩小”,则额外的缩放操作不再有意义,平移也只允许沿页面排列方向,即横排时只能横向移动,竖排时只能竖向移动。

注意如果需要处理的文件比较多,一次处理不完,或者担心中途因为停电等原因造成工作白费,可以点击“保存”按钮保存当前参数和处理设置,下次进入后点击“调入”按钮即可选择所保存的文件进行恢复。

如果进行了拼接操作但又没有保存或开始真正合并,则在关闭窗口时会给出提示,可以按照提示进行保存或放弃。

  1. 真正开始合并

全部参数均设置完成,需要手工拼接的页面也已完成拼接操作,点击“开始合并”按钮即开始真正的合并操作,合并后的文件存储到指定的目标文件夹。

六、CEP_文件批量重命名

点击工具条上的“文件批量重命名”按钮,或者双击桌面上的“CEP_文件批量重命名”图标(前提是已经按照前面说明在桌面上创建了快捷方式),可以打开单独的窗口,实现图像批量重命名。 如果想软件运行后直接进入文件批量重命名界面,可以以命令行参数-renamer启动本软件。 该功能可用于分开奇偶页,或处理分页文件,参见本软件使用系列教程。

本来是想学ScanKromsator在批量处理时允许指定输出文件的重命名(重新编号)规则的,但发现本软件“常规”界面的批处理对话框中没有办法调整文件顺序,也就没法控制编号顺序,所以只能搞出这么一个专门的重命名界面来。

  1. 选择源文件夹

源文件夹中存放的是需要批量重命名的软件。点击按钮选择,或者从资源管理器拖拽文件夹过来均可。然后会显示“源文件筛选条件”对话框,对源文件夹中需要参与重命名的文件进行筛选,生成源文件列表。筛选条件包括:

  • 文件类型:源文件夹下哪些文件需要重命名。
  • 筛选条件:继续对按照“文件类型”所筛选出来的文件进行进一步的筛选。最终参与重命名的文件是同时符合文件类型、筛选条件的文件。
  • 排序方式:筛选出来的文件在源文件列表中按照什么条件进行排序。
  • 排序顺序:文件列表是顺排(升序)还是倒排(降序)。
  1. 选择目标文件夹

选择源文件夹后,如果目标文件夹为空,则自动在源文件夹后加上后缀“_new”作为目标文件夹。可以手工输入、修改目标文件夹,也可以点击按钮选择或从资源管理器拖拽过来。

  1. 调整源文件顺序

如果需要重编号源文件,可以通过工具条上的按钮改变文件在源文件列表中的顺序,包括上移、下移、移到顶、移到底等。

如果需要前、后翻页,除了用键盘翻页外,还可以用鼠标翻页:鼠标左键双击图像显示区域的左侧向前翻一页,双击右侧则向后翻一页。如果按住Ctrl键双击,则一次翻两页。

  1. 指定目标文件的命名规则

包括前缀、后缀、位数、起始数字、增量等,指定后点击工具条上的“重编号目标文件”,即按照当前源文件的顺序重新编号,产生目标文件名,格式为:前缀xxxx后缀.源文件扩展名,其中xxxx是按照指定的位数、起始数字、增量产生的数字。

如果不想更改文件名,可以直接点击工具条上的“复制源文件到目标文件”按钮,直接把源文件名复制到目标文件。通常在处理PDG转出来的图像文件时,就不想重新编号,而是想保留源文件名。

  1. 开始重命名

点击“重编号目标文件”或“复制源文件到目标文件”按钮,产生目标文件列表后,即可点击“开始”按钮开始重命名。重命名过程中如果出现错误,会产生日志文件,点击工具条上的“查看日志”按钮可以打开日志文件。

密技曝光

一、ComicEnhancer vs. Photoshop

其实我个人认为,Photoshop的漫画增强效果还是不错的,但在分享转换参数方面还存在一些不足,所以我才会编这个程序。

  1. 从总体上说,ComicEnhancer“常规”界面模仿的是Photoshop的Batch Action功能,但支持的图像格式、图像处理方法和效果、效率可能不如Photoshop,毕竟是在业余时间里鼓捣出来的东西。
  2. Batch Action看得见的参数不多,建立时一般是对图像操作进行录制,因此如果在BBS上撒个帖子:“我用Photoshop进行了××操作,增强了××漫画”,别人大概也是有听没有用。而ComicEnhancer的所有参数均是可见的,结果也是可重复的,因此如果在BBS上撒个帖子:“我用ComicEnhancer增强了××漫画,所用参数为××”,大家都可以受益。
  3. Photoshop里我最欣赏的就是Curve功能,通过用样条函数表示的非线性映射,能够同时调整图像的亮度和对比度。但是这个功能的可重复性实在是太小。ComicEnhancer的所有操作都是可重复的。
  4. 最要命的一点,Photoshop实在是太大、太全了,会用它处理漫画的人好象不太多。

NOTE:以上是我早期写的总结CEP和PS差别的文字,当时我还没有接触scan_kromsator、scantailor等专门处理扫描书籍的软件,所以才会觉得用PS处理也不错。但在用过这些软件后,我才发现用PS处理扫描书籍实在是太累了:

  • 没有自动纠斜、自动去黑边、自动去斑点、自动照度修正,处理起来很累的。
  • 纯黑白(二值化)图像不能自动平滑轮廓,看起来好刺眼睛。
  • 没有自动居中等排版功能,分页后很蛋疼。
  • ……

所以专业的事情就要找专业的工具来做,PS就是专业处理照片的,但肯定不是专业处理扫描书籍的,那属于SK、ST、CEP的范畴。 详见我写的《从几个常见需求看扫描电子书处理软件选择》。

二、JPEG,JPEG 2000, BMP,GIF, TIFF, PNG and WEBP

如果说JPEG是当今网上最流行的图像格式,大概不会有人反对,甚至有人对JPG怀有蜜汁崇拜,认为JPG是一种万能格式,可用于所有图像的存储。但实际上由于JPEG是有损压缩,在提供较小文件长度的同时,JPEG格式也具有以下缺点:

  1. JPEG主要针对的是“自然图像”,即色彩比较丰富、颜色过渡自然的图像,如普通彩色风景照片等。而动画、漫画、书籍等一般是“非自然图像”,即颜色数较少、颜色跳跃比较大,并且有文字、线条等边缘锐利的部分,这样的图像经过JPEG有损压缩后,在线条、文字的边缘部分就会产生细小的碎片(高频噪声),在质量系数较低时尤其明显。这对狂热追求画质一族来说实在是个遗憾。
  2. 虽然某些人宣称“JPEG还原时无失真”,但这不过是一句广告语罢了。由于JPEG的有损压缩特性,实际上每压缩一次,都会损失一些图像信息,因此JPEG并不适合保存图像处理的中间结果。如果对以JPEG格式发行的图片进行编辑,再保存成JPEG格式,每保存一次都会造成一定损失。减少损失(但不能完全消除损失)的办法也不是没有,参见我写的《ComicEnhancerPro 系列教程》 中的说明,具体来说就是勾选JPG“设置”选项中的三个“优先”。

由于这些原因,网上有人开始尝试用无损压缩格式保存动漫图片。常见的无损压缩格式有BMP、GIF、PNG和TIFF等:

1、BMP
BMP格式的特点是操作简单,基本上所有的工具都支持它,如果想自己开发图像处理程序的话,读、写BMP文件的源代码也随处可见。但BMP图像基本上是把像素按照扫描线顺序直接写到文件里,不进行压缩,或仅采用简单的RLE(行程编码)压缩,因此用BMP格式保存的图像文件一般都比其它格式的文件大得多,导致几乎没有谁会在网上发行BMP格式的动漫或书籍图片。我唯一见过的一次是有人以单色BMP格式发行了一套赤松健的《永远的圣诞老人》,长度比质量系数65%的256级灰度JEPG还小,不过单色BMP不是黑就是白,没有任何过渡, 看文字书还行,漫画看起来实在是……

2、GIF
GIF大概称得上是网上最早流行的无损压缩图像格式。我看到的第一套以GIF格式发行的漫画是英文版《乱马》,其图像之细腻绝对不是JPEG能够比拟的,而且由于采用16级灰度,图像尺寸也不大。后来陆续又见过一些以GIF格式发行的港版漫画,虽然图像都不错,不过文件尺寸上就差远了--全是256色GIF。不过GIF也有一些问题:

  1. GIF压缩算法的核心--Lempel-Ziv-Welch (LZW)算法是有专利权的,专利权归Unisys公司所有。开发解码程序也就算了,如果开发编码程序,就算开发的是freeware,也需要向该公司缴纳专利费,否则可能会有麻烦。这在一定历史时期内限制了GIF文件的发展,还好现在这个专利已经过期了。
  2. GIF 89标准只支持256级灰度和256色以下的调色板图像,24位真彩图像属于非标准。如果在本软件中非要用GIF存储24位色图像,则软件内部自动转换成256色图像存储。

但GIF也有一个天然的优势:如果图像的页边空比较大,可以在存储时不存储页边空的内容,只存储版心内容,这样可以在一定程度上减小文件长度。在本软件中,如果在输出时勾选了“裁减GIF”选项,则输出的GIF文件就会自动进行裁边:

  1. 裁边的依据是在“裁边”对话框中指定的填充色,即填充色覆盖的四周区域就是裁减区域,裁减区域内的像素不参与图像压缩编码,因此可以减小最终输出文件的长度。
  2. 在对这种裁边GIF进行解码时,不同的软件对裁边区域的解释可能不同,有些是用指定的背景色填充,有些是用透明色填充。如果想获得最大兼容性,最好在“色彩”中勾选“索引色PNG、GIF设置背景透明”。

更详细的说明可以参见这里:
扫描电子书页面存储的问题及解决方案(1):页边空与GIF文件格式 - strnghrs - 博客园 (cnblogs.com)

3、PNG
对于Unisys公司向支持GIF格式的freeware收费的行为,网络界当然不会没有反对的声音。其中一些反对者聚集起来,提出了新的PNG格式(听起来象不象DivX和Xvid的故事?)。PNG的压缩算法采用公开的ZIP压缩算法,不仅压缩率比LZW高 (从统计学上说如此),而且不需要支付专利费用,连压缩、解压源代码都有专门的zlib组织免费提供。因此形象一点说,PNG可以理解为把BMP用ZIP压缩算法压缩一遍。

与GIF相比,PNG格式不仅文件长度更小,而且在色彩方面支持得更好,差不多达到BMP的水平。尤其是除了256级灰度和256色以下的调色板图像外,还支持24位真彩图像。

4、TIFF
TIFF可以说是一种包罗万象的图像格式,内部允许使用多种图像压缩格式,包括BMP使用的RLE、PNG使用的zip、GIF使用的lzw、JPG使用的jpeg压缩算法等。从我使用的结果来看,如果使用与其它图像格式相同的压缩算法,TIFF文件并没有什么优势。但是在压缩纯黑白(二值化)图像时,TIFF提供的CCITT G4无损压缩算法比zip、lzw、RLE等具有非常明显的优势,因此本软件在保存TIFF格式时,单色图像均采用CCITT G4压缩,其它图像采用TIFF规范baseline规定的LZW压缩以获取最大兼容性。

除了JPG和以上几种无损图像格式外,本软件还支持以下图像格式:

1、JPEG 2000

JPEG 2000(J2K)是一种标准图像格式(ISO/IEC 15444),但这个标准却被人讥讽为“just a printed standard”,意思就是这个标准仅仅停留在纸面上,缺乏实际的产业力量支持。

最初订立标准的时候,业界对J2K寄予厚望,希望能用这种格式一统有损压缩和无损压缩,解决JPG格式在高压缩比时质量退化严重的问题。但实际应用中发现,J2K的无损压缩效率太低,有损压缩在高压缩比情况下同样存在质量退化严重的问题,而且J2K的核心算法是小波变换,比JPG的离散余弦变换(DCT)复杂得多,对计算资源的需求更大,结果就造成J2K较好不脚座,相关论文、书籍层出不穷,设置某些学术派言必称J2K,但实际应用却几乎没有,连网页浏览器都不屑于支持。

在我看来,J2K最大的一个特点是:可以指定输出文件的长度,准确度基本靠谱。因此在一些对文件长度要求苛刻的场合可能有用。

理论上说J2K支持24位色、256级灰度和其他调色板图像,但本软件在输出J2K图像时,只支持24位色和256级灰度,其他调色板图像会转换成24位色图像或256级灰度存储。读取时无此限制。

2、WEBP

webp是Google公司新提出的一种图像格式,支持有损压缩和无损压缩,支持静态图像和多帧动画,看得出Google是想把包括JPG、PNG、GIF在内的格式一网打尽。并且Google家的Chrome、Edge浏览器和安卓系统均原生支持webp格式。与前面几种格式相比较:

  • 对于24位色和256级灰度图像,webp在相同的有损压缩质量系数下,文件长度要小于JPG,而在较低的质量系数(低于40)下,同样的文件长度,图像质量要明显优于JPG、JPEG 2000;
  • 对于纯黑白图像,无损压缩的webp文件长度大于采用CCITT G4压缩的TIFF文件,但TIFF不能在Chrome、Edge浏览器中直接显示,而webp可以;
  • 对于其他调色板图像,webp在有损压缩时文件长度要小于无损压缩的PNG、GIF。
  • 与其他任何一种格式相比,webp的编码速度都是最慢的。但解码速度不慢,至少不比JPG慢多少。

webp相对于其他格式,最有优势的是在图文混排页面,尤其是彩色插图与黑白文字混排的页面,可以在获得较小文件长度的同时获得不差的图像质量,比JPG、JPEG 2000更适合。

因此,本软件从v6.02开始支持webp格式输出,并且:

  • 质量系数采用用户设置的JPG质量系数,但在质量系数为100时为无损,而JPG无论质量系数是多少均为有损。
  • 对于纯黑白图像,不论质量系数设置为多少,均采用无损压缩;对于其他图像,按照Picture预设值设置有损压缩。

更详细的说明可以参见这里:
扫描电子书页面存储的问题及解决方案(2):插图页与WEBP文件格式 - strnghrs - 博客园 (cnblogs.com)

三、JPEG解码

鉴于JPG图像应用的广泛性,有必要谈一下JPG解码。现在支持JPEG解码的库比较多,Windows GDI+也支持直接读取JPEG文件,但这些库的底层多半还是基于IJG源代码。

IJG的全称是Independent JPEG Group(独立JPEG小组),该组织以C语言源代码的形式提供应用广泛、完全免费的JPEG解码/编码函数库,编译后生成二进制格式的LIB文件,可以连接到其他编译型语言的程序中。其实对于Windows程序员来说,这个函数库最难的地方就是对编译选项的设置(Unix无此问题),一旦设置完成,编译成功,差不多就可以卖钱了。有些开发商就是将对IJG的调用封装一下,生成DLL或OCX,就开始堂而皇之地收费。由于IJG生成的代码简洁干净,无需任何DLL或OCX,很多收费的图像浏览器、编辑器等也直接或间接地基于IJG,包括Windows自身的相关API(我在泄露出来的Windows 2000源代码里见到过IJG的源代码)。另外在IJG的源代码中还包含对GIF、BMP、PPM、TGA、RLE文件解码/编码的实例代码,因此也有人说IJG提供的JPEG库支持这些图像格式,其实这些代码仅供IJG测试用,一般生成的LIB文件中并不包括这部分代码,如果想支持这些格式还需要在此源码基础上花功夫。

IJG最大的好处是稳定、兼容性强,毕竟经受了多年的考验。缺点是速度太慢,碰到大文件会很难受。另外在编码方面,只有IJG允许对与JPG文件长度和质量有关的参数进行最细微的控制。

正因为IJG的速度太为人诟病,在Intel的IJL出来后才一时惊艳四方。

IJL的全称是Intel JPEG Library,是由Intel公司提供的JPEG解码/编码库,专门针对Intel处理器进行了彻底的优化,因此在Win-tel环境下速度一流。这个工具最大的特点就是简单,一共只有六个函数(ijlInit、ijlFree、ijlRead、ijlWrite、ijlGetLibVersion、ijlErrorStr),而且随机文档中附有完整的VC++实例,因此对于VC程序员来说不用费什么脑子就可以对IJL应用自如。

IJL有两个主要的版本:1.5版和2.0版。1.5版是最后一个免费版本的IJL,以后的版本都是收费版。而2.0则是IJL的最后一个版本,以后IJL被Intel Integrated Performance Primitives (IPP)v6中新推出的UIC(Unified Image Codec)所取代。

免费的IJL v1.5当年在国内流传甚广,但存在下列问题:

  • 内存泄露(memory leak)。这个用IJL的DLL版看不出,要用Static Lib版才能看出来:每打开一个文件,VC会报告72字节(3通道JPG)或24字节(单通道JPG)的漏洞。网上有文章说明如何用内联汇编打补丁来解决这个问题。
  • 不支持EXIF中指定的旋转参数。这个问题不大,可以在解码后自己旋转,但需要自己再去解码EXIF。
  • 手册上说不支持CMYK色彩空间,但自带的JPGView例子支持某些CMYK的解码,另外一些解码后色彩不正确。这个也可以修正,同样需要自己进行处理。
  • 兼容性太差。某些数据异常的JPG文件用IJG能解码,用IJL则不行。有源代码的话很容易修正,没有源代码就难了。

IJL 1.5的源代码我没见过,IJL v2.0的源代码则是IPP v6 Sample的一部分,与IPP的库结合就能用VC进行编译。但是从我试用的情况看,除修正了内存漏洞外,1.5的其他兼容性问题在2.0中依旧存在。不过毕竟有源代码,可以自己动手进行修正。另外虽然IJL v2.0的编译环境要求是VC++ 2002以上,自己建个project在VC6下编译也没有问题,花几分钟修正一下就好。

从IPP v6开始,Intel整合了BMP、PNG、JPEG、JPEG 2000等格式的编解码器,统一为UIC(Unified Image Codec),并从此放弃IJL。与IJL相比,UIC最大的区别是支持基于OpenMP的并行架构,在多线程CPU上更具速度优势,另外由于大量采用高版本IPP中的接口,源代码要比IJL更简洁。坏消息是UIC虽然修正了IJL的一些bug,但仍然保留了一些bug,甚至还引入了新的bug。其中一个新bug是混淆了Intel字节序与Motorola字节序——在Intel发布的源代码中居然出现这样的问题,我个人觉得很魔幻。另外UIC对JPEG的兼容性仍然有问题,在一些条件分支中直接就返回“尚未实现”的错误码。

从速度上来说,在目前的主流CPU上UIC比IJL v2.0更快,因此从v6.0开始,本软件不再采用IJL,而是改用UIC解码,碰到UIC不支持的特殊JPG再调用IJG解码。但在编码方面,UIC不像IJG允许对色度的子采样(sub-sampling) 进行控制,而且我实在怕了Intel代码的兼容性,因此本软件编码仍然用IJG。

在IPP的sample中,也给出了用IPP改造后的IJG版本,速度比原版IJG要快,但还是没有UIC甚至IJL快,而且兼容性极差,有些用原版IJG编码没有问题的文件,用IPP版IJG编码出来就是花的,所以我根本就不敢用。IPP中给出的经过类似改造的PNG库等也存在类似的兼容性问题,谁用谁知道。

四、JPEG 2000解码

现在虽然JPEG 2000已经成为标准,但似乎标准对代码实现定义不足,导致现在出现了一些互不兼容的JPEG 2000代码。以C语言开源项目为例,目前比较有名的有kakadu software的kakadu、Michael D. Adams的JasPeropenjpeg组织提供的LibOpenJPEG、Intel的UIC等。从我测试的结果看,似乎JasPer编码的兼容性更好,而openjpeg解码的兼容性更强。说得更白一点,用JasPer编码的JP2文件直接插入PDF文件不会出错,而openjpeg编码的会;从Acrobat生成的PDF文件中抽取JPEG 2000文件,用openjpeg能够解开,而JasPer解不开。

kakadu的解码速度、兼容性无与伦比,但是某些图像解码后的效果不如openjpeg,而且开源版本的kakadu在处理调色板图像时可能会出现颜色不正确,自己修正一下源代码就好。此外开源的低版本kakadu还有一个现实问题:解码速度较快是因为其中一些模块是用汇编语言写的,这些汇编代码只能编译成32位,如果要编译成64位,就只能使用速度相对较慢的纯C代码。高版本的kakadu提供高速64位DLL,但那是要钱的,而且连D版都找不到。

Intel的IPP UIC提供了支持OpenMP并行架构的JPEG 2000编解码器,从我测试的结果看,在8线程CPU上要快于只能串行解码的开源版kakadu,而且因为出现得较晚,对JPEG 2000新版规范的支持要比低版本kakadu强一点,尤其是在处理调色板图像方面。

在综合考虑各方因素后,本软件采用IPP UIC解码JPEG 2000,编码采用修正过的kakadu。

在JPEG 2000标准中,定义了JPEG 2000文件(以JP2为文件扩展名),和JPEG 2000编码流(code stream,以J2k、JPC为文件扩展名)。JP2包含的信息更完全,因此本软件编码时一律编码成JP2文件。解码则支持JP2、J2k和JPC。

从我使用的情况看,虽然各种论文、教程上吹得天花乱坠,但实际测试下来JPEG 2000的效果不见得比JPEG强多少,但是编解码消耗的时间要多得多,实在不是很划算,难怪混到现在还是一种非主流图像格式。

鸣谢

本软件的JPEG、JPEG 2000解码采用了Intel发布的UIC,但进行了修正,编码采用了Independent JPEG Group v6b;PNG文件的支持采用了libpng组织提供的libpng源代码(zlib采用了ASM版),TIFF文件的支持采用了libtiff组织提供的libtiff源代码,GIF文件支持采用了giflib,webp采用了Google的libwebp,raw采用了dcraw

附录 版本更新记录

v6.08
错误修正:在从x86转至x64版本的时候,由于二者对某个数据类型的解释不同,导致在减色成16位色的时候如果同时选择了抖动,则软件会出错退出。

v6.07
错误修正:在win10下,书籍处理界面的文件列表中可能出现乱码,严重时出错退出。
错误修正:书籍处理的切边如果选择白色之外的填充色,可能会出错退出。

v6.06
功能增强:“图像尺寸统计”中,增加“含BPP和颜色数”选项,统计结果改用消息框提示,并用列表显示每个文件的详细信息。
功能修正:解码GIF文件时,如果GIF文件只是部分损坏,则不算解码失败。

v6.05
新增功能:在“色彩设置”中,增加“保持原样”选项,便于处理文字页与插图页混杂的书籍。

v6.04
新增功能:在“批量比较”界面中,新增“导出列表”按钮,新增“序号”列。
功能增强:在批量设置DPI界面中,不再显示所处理的文件的完整路径,而是只显示文件名,以免路径太长看不到文件名。
功能修正:JPEG 2000解码时,CMYK色彩空间转RGB空间改用精确但慢速的公式,以求与Adobe的结果一致。
错误修正:如果彩色JPG文件没有标准文件头,解码后可能红蓝颠倒。

v6.03
错误修正:在扫描书籍处理界面中,在“输出”页签点击“输出”按钮,实际生成的文件类型可能与设定的自动类型不符。

v6.02
新增功能:在批量处理和书籍处理界面中,如果输出文件类型选择了“自动”,则允许选择不同类型图像的具体输出文件类型。
新增功能:在“文件更名”界面中,“源文件筛选条件”增加“排序顺序”选项,可以实现顺排(升序)和倒排(降序)。
新增功能:支持输出webp格式的文件,质量系数采用JPG质量系数,质量系数100时为无损。
新增功能:支持GIF格式输出,并允许选择对GIF图像进行裁边存储,以减小GIF文件长度。
功能修正:禁用高DPI自动缩放,以免显示模糊。
功能修正:JPG解码时,CMYK色彩空间转RGB空间改用精确但慢速的公式,以求与Adobe的结果一致。
错误修正:在非简体中文Windows环境下,简体中文版界面显示乱码。
错误修正:切边时指定的填充色,经过减色后可能会变色。
错误修正:纠斜与切边联合使用时,某些情况下切边的预览结果与实际切边效果不一致。
错误复制:256级灰度PNG不能设置为透明。
开发工具升级至VC 2019,因此运行时需要x64版VC 2019运行库(v16.11)支持,否则启动时会提示“无法启动此程序,因为计算机中丢失 VCOMP140.DLL。”。所有优化编译选项也选择速度优先,导致最终EXE文件长度涨了一截。

v6.01
功能增强:支持Alpha通道透明的webp文件。
错误修正:文件多选时,只能选择10多个文件。

v6.00
从32位应用改成64位应用,解决图像拼接时因为图像太大造成内存不足的问题。
取消32位版,仅发布64位版。现在还在用32位Windows的电脑,也确实不太适合搞图像处理。
64位CPU没有单核、单线程的,所以基于OpenMP优化了JPEG 2000、RAW解码,zlib遍解码,ICC色彩校正,模糊,锐化、曲面页展平等功能,CPU线程数越多速度越快,当然天下没有白吃的午餐,需要付出的代价就是CPU功耗大增,风扇呜呜呜转个不停。
JPEG解码库从单线程的IJL换成支持OpenMP的UIC。
wolf算法中积分图的数据类型从UINT64改成flota,精度略有下降,速度提升约5%。因为用的不是全局积分图,所以数据类型的变化对内存占用的影响不大。

v5.08
功能增强:“16级灰度以下PNG设置背景透明”选项改成“索引色PNG设置背景透明”,免得有人抱怨256色和256集灰度图像不能设置背景透明。
功能修正:“调色板量化算法”缺省值从半吊子的“八叉树”改成了更靠谱的“Xiaolin Wu”,虽然在某些情况下可能不如“神经网络”,但一般情况下优于“八叉树”。
错误修正:在解码带APP14标记的24位色JPG图像时,可能会出现偏色。

v5.07
新增功能:批量文件比较。
新增功能:在“调节”中,新增“去除背景阴影”。与v5.04的“黑白文字”、“文字+红章”选项类似,但可以手工调节参数,避免自动去背景时可能把某些低对比度图像的细节也误删了。
新增功能:在“自动展平方法”中,增加“干净文本行”选项。
功能增强:在文件比较时,如果两个文件的文件路径重复,则不进行比较,直接给出错误提示。
功能修正:在切边、文件比较、文件重命名界面中,预览图像的缩图算法全部改成线性插值。
功能修正:扫描书籍处理中,批量处理时不再往输出文件夹中复制ComicEnhancerPro.prj文件。
功能修正:对“文件比较”的显示结果进行精简,突出重点。

v5.06
错误修正:解码某些调色板图像时,会出错退出。

v5.05
功能修正:在解码某些TIFF时如果发现错误,不再是直接退出解码过程,而是继续尝试能否解码剩余部分。
错误修正:在“扫描书籍处理”界面中,如果文件数比较多,点“应用”时可能会出错退出。

v5.04
新增功能:“照度修正”下面新增“黑白文字”、“文字+红章”选项,对于手机拍摄的照度不均匀书籍照片具有较强的自动增强效果。
功能修正:“照度修正”下面取消“照度修正+旋转”选项,改为自动判断。

v5.03
功能增强:在“扫描书籍处理”界面的“输出”页中,点击“输出”按钮时先自动保存项目,然后再输出当前图像。
错误修正:在“扫描书籍处理”界面中,如果更改参数后不等参数结果出来就上下左右移动图片位置,有很小的概率会造成闪退。

v5.02
错误修正:在没有打开任何图像文件情况下,如果在“扫描书籍处理”界面中瞎点按钮,可能闪退。

v5.01
错误修正:在某些系统下启动“扫描书籍处理”界面时,会闪退。

v5.00
新增功能:文件->创建快捷方式,在桌面上创建快捷图标,方便启动不同的功能。
新增功能:扫描书籍处理,包括分页、梯形矫正、弯曲页面自动展平、色阶等新增子功能。
新增功能:“切边”对话框里增加“强力去背景”选项。顺便把切边对话框设置为最大化。
新增功能:“纠斜”中增加“网格”选项,便于查看纠斜效果。
新增功能:在“切边”、“文件更名”界面中,双击图像显示区域的左、右区域可以前、后翻页。
功能增强:继续为提高纠斜的可靠性而努力。
功能增强:对于透明色为黑色的调色板图像,加强对透明色的自动识别,避免出现颜色丢失。
功能增强:“颜色替换”中“RGB分量与样本差小于阀值”的计算,从RGB空间改成Lab空间,色彩判断更符合人类心理预期。
功能修正:按照扫描书籍处理中的需要,对参数作用顺序进行了调整。
功能修正:更改鼠标翻页规则,改成在显示区右半部分双击左键下翻,在左半部分双击左键则上翻。
功能修正:“纠斜”中去掉“清除黑区”选项。
错误修正:在照度修正时,某些情况下会出现拉丝现象。
针对新增和修正的功能,对本使用说明进行全面修订。

v4.21
新增功能:在“通道混合”中新增“乌贼漂白”选项。
新增功能:“色彩”中的“调色板量化算法”新增“神经网络”选项,代码源自FreeImage。
功能增强:修正了“通道->颜色替换->RGB分量与样本差小于阀值”的算法,增加了阀值的初始值。
功能增强:在批量合并时能在任务栏上显示进度。
功能调整:“通道混合”中的“灰度”算法从BT.601调整为BT.709,更突出绿色,降低蓝色影响。
功能调整:降低合并手工操作时的图像旋转精度,以增加操作流畅性。批量合并时的精度不变。
功能调整:降低切边对话框中纠斜预览时的图像旋转精度,实际操作时的精度不变。
错误修正:在合并图像时,如果图像长、宽较大,重启后调入cem文件进行批量合并,合并结果可能和看到的不一样。
错误修正:缩图时如果需要收缩的部分很小,可能会出错退出。在合并图像时容易碰到。
错误修正:如果调色板图像的透明色是黑色,则解码后会忽略对透明色进行转换。
错误修正:某些背景灰灰的图像,自动纠斜不起作用。

v4.20
功能修正:在“切边”时,如果选定“不计黑边”,则在原有去页面黑边基础上,再去掉与红框相接触的黑块。有时候手动选边框时红框刚好与黑斑相交也是比较心烦的事情。
功能修正:批量转换时,先停掉任务栏上的进度条,再弹出结束提示对话框,否则老觉得没停。
错误修正:如果ICC数据错误(指针越界),可能会造成带ICC色彩校正的图像解码出问题。

v4.19
功能增强:增强JPEG 2000的兼容性。
功能修正:白平衡的白点矫正如果失败,会自动调用“自动色阶1”。
功能修正:对于二级灰度图像(非纯黑白),减色时如果选择了“2色”,则保持原有二级灰度不变,而不再是转换成纯黑白。
错误修正:所有单色灰度图像都会解码成黑白图像。
错误修正:白平衡选择“白点+黑点”时,有时候会造成图像反白。
错误修正:在win10下如果设置了高DPI,用吸管取色时会出现定位不准。
错误修正:JPEG 2000图像的色深总是显示为24,某些JPEG 2000的DPI显示不正确。

v4.18
错误修正:如果源文件与目标文件相同,JPG质量设置中的三个“优先”不起作用。

v4.17
错误修正:某些特殊尺寸的纯黑白文件存盘时会出错退出。

v4.16
新增功能:文件批量重命名。 本来是想学ScanKromsator在批量处理时允许指定输出文件的重命名(重新编号)规则的,但发现不能控制顺序,所以只能搞出这么一个专门的重命名界面来。
新增功能:如果在Win7以上系统运行,批处理时能在任务栏上显示当前进度。
新增功能:在“切边”对话框的“纠斜”框里,增加边缘选择框,设置纠斜后的边缘处理方式。
新增功能:增加“适合宽度”选项,如果图像宽度超过窗口宽度,显示时按窗口宽度缩小显示。
功能增强:Gamma校正的上限从200扩展到300,让想加黑的人加到爽。
功能增强:在“切边”对话框的“页面设置”中,增加4开、8开报纸尺寸,及按照WORD 2013设置的A2、A3、A4纸尺寸和页边距。
功能修正:如果参数与缺省值相同,则在保存参数时不保存,避免参数文件过渡膨胀。
功能修正:v4.15放弃的“光线”功能又被找了回来,不过修正了以前的偏色问题,同时调整了其作用顺序。
功能修正:对滚动条的翻页距离进行了调整。
功能修正:工具条状态的存储位置从注册表改为ini文件,工具条显示不正常时删除ini文件即可。
错误修正:某些DNG文件解码后出现偏色。
错误修正:对帮助文件中的重复描述、错别字进行了修订。
错误修正:在文件列表中漏掉了RAW文件(*.nef;*.crw;*.cr2;*.dng)。
错误修正:从本软件启动JpegQuality.exe时,如果JPG路径含空格,则启动后报告文件不存在。
错误修正:“切边”对话框中提示文字显示不全。

v4.15
新增功能:在“调节”对话框中新增“多尺度细节增强”选项。
新增功能:在批处理对话框中,“新文件扩展名”新增“自动”项。
新增功能:在“通道”对话框中增加自动白平衡选项,包括白点矫正和白点+黑点矫正。
新增功能:在自动色阶选项框中增加“自动漂白”选项。
新增功能:在“曲线”对话框中可以用参数调节对比度。
新增功能:在“照度修正”选项框中增加“F.M.Retinex”选项。
新增功能:文件删除,可以直接从工具条上选择删除当前文件。
新增功能:能够记忆窗口大小和位置。
功能增强:修改了“照度归一”,提高运行速度,减少出现亮斑的可能。
功能增强:在统计“颜色数”时顺便统计颜色的统计特征量。
功能增强:“自然饱和度”浮点计算改为定点计算,以加快速度。
功能增强:修改了导引滤波(Guided Filter)的实现,内存消耗略有降低。
功能修正:去掉了鸡肋的“光线”功能。
功能修正:重新定义锐化级别a1~a3,原“调节”中的“锐化百分比”也改成“高斯锐化半径”,核心目标都是加强锐化效果,以应对伪高清制作时大比例放大造成的模糊。
功能修正:对参数存储文件格式进行了调整,以前版本保存的参数将失效。
功能修正:“最近打开文件”等不再记录在注册表中,而是记录在ini文件中。
错误修正:批量处理某些纯黑白图像时,可能会造成出错退出。
错误修正:批处理对话框中的“色彩”与色彩设置对话框中的“色彩数”不同步。

v4.14
新增功能:在“图像拼接”中增加旋转功能。
功能增强:在“批量设置DPI”时,允许输入DPI值为0,此时相当于从文件中删除DPI值。
功能修正:右下角状态栏显示DPI时,如果原图像中没有DPI值则不显示,而不再显示CxImage缺省的96 DPI。
错误修正:某些PNG图像解码不正确。

v4.13
新增功能:图像比较,可以比较两个图像的差异。
新增功能:在“参数”和“图像拼接”界面中增加JPG质量“设置”按钮,可以对JPG压缩参数进行更细致的设置。
新增功能:在“图像拼接”界面中增加DPI设置。
新增功能:增加“后处理”选项,保证处理后的图像色彩或灰度分布合理。
新增功能:增加“参数”按钮,可以按照处理顺序显示所有选择过的参数,便于与他人分享自己的处理经验。
新增功能:在“色彩”中增加“边缘去毛刺”选项,某些情况下可以减少纯黑白图像的毛刺。
新增功能:在“色彩”中增加“载入时判断灰度图像”选项,解决v4.09强制检查造成的某些问题。
新增功能:在“照度修正”中增加“照度修正+旋转”项,解决某些横向图片修正不准确的问题。
功能增强:如果JPG文件中含ICC配置,则按ICC配置进行色彩校正。
功能增强:修正Wolf算法中的积分图部分,大幅降低内存消耗,顺便修正原积分图计算过程中数值溢出的问题。
错误修正:某些JPG文件解码不正确。
错误修正:在Win 10下以管理员权限运行后,从资源管理器不能拖拽打开文件。
错误修正:对于纠斜,竖排时可能会失灵。

v4.12
错误修正:打开某些非标准调色板的8位灰度图像后,合并、处理颜色不正确。

v4.11
错误修正:选择了切边后,“16级灰度以下PNG设置背景透明”选项失效。

v4.10
新增功能:在“表面模糊”中,允许用户选择模糊算法,并在原有3种算法基础上增加“选择性模糊”。
功能增强:修正仿Photoshop表面模糊的算法实现,加快在大半径下的执行速度。
功能修正:在“切边”界面中,“当内容框小于版心时”的缺省值从“填白”改成“放大”。
错误修正:某些特定宽度的图像存为纯黑白时会出错退出。

v4.09
新增功能:图像拼接。
新增功能:自然饱和度调节。
新增功能:自动亮度。
新增功能:支持尼康、佳能的RAW格式。尼康NEF测试过D40、D800、D7100、D750,佳能CR2测试过5D Mark II、G16,及A570+CHDK生成的DNG。其他小众品牌没有考虑的价值。
新增功能:图像尺寸统计,可以统计指定文件夹下的图像尺寸,便于对图像尺寸进行统一。
新增功能:在“色彩”中,允许减色成16位色,包括抖动。可以选择1XR5G5B5、R5G6B5两种格式。
新增功能:在切边时,可以指定填白所用色。
功能增强:支持扩展JPEG 2000格式。
功能增强:在“通道混合”中,新增两种混合方式。
功能增强:能够正确显示JPEG 2000图像的DPI,生成的JPEG 2000图像中也带DPI信息。
功能增强:在打开图像文件时,实际逐像素检查图像是否是灰度,对于假冒24位真彩的灰度图像,一律转成真正的灰度图像。
功能修正:在“通道”对话框中,通道互换、通道混合、反白、CMYK JPEG反白可以即时看到效果。
功能修正:纯黑白的阀值算法缺省值改成Otus。
功能修正:自动对比度的灰度算法从算术平均改成心理学模型。
错误修正:拖动文件夹打开时,打开的不一定是文件夹中的第一个文件。
错误修正:某些采用PackBits压缩算法并且带白边或黑边的TIFF图像解码后会错位。这个错误是由于libtiff在PackBits编、解码时不遵守《TIFF Revision 6.0》规范造成的,并且到v4.0.4 beta仍未修正,只好我自己修正。

v4.08
功能增强:增强TIFF文件的容错性。
错误修正:某些特殊尺寸的JPG文件解码、编码后底部出现白线。
错误修正:在“自动缩小”状态下,某些图像左、右旋转后会出现不能刷新的区域。

v4.07
功能修正:在“批量设置DPI”界面中,允许设置的最小DPI从80放宽到50。
错误修正:另存为JP2格式时,灰度图像不正确。

v4.06
功能增强:“另存为”时,能够根据文件原有扩展名及当前色彩自动选择新的缺省扩展名。
错误修正:自动裁边时,在某些情况下会出错退出。

v4.05
功能增强: 原“自动纠斜”功能扩展为“自动纠斜_横排”、“自动纠斜_竖排”、“自动纠斜_双向”、“手动纠斜”,以适应不同的需要。原“自动纠斜”相当于“自动纠斜_横排”。
功能增强:对于“自动纠斜_横排”、“自动纠斜_竖排”、“自动纠斜_双向”,可以选择“清除黑区”选项。
错误修正:在“切边”对话框里,在选定纸型后,忘记禁止页边空输入框了。

v4.04
继续与CMYK色彩空间的JPG做斗争。

v4.03
错误修正:在某些情况下,“自动纠斜”会导致出错退出。

v4.02
新增功能:在“通道”中增加“CMYK反白”选项,彻底解决CMYK色彩空间的JPG颜色问题。
功能增强:改进了“颜色数”算法,速度大大加快。
错误修正:在“切边”中,如果选择“垂直”了“靠上”,则上边距对位置不起作用,而是下边距起作用。
错误修正:在将24位真彩减色成16级以下灰度或单色后,如果选择了“16级灰度以下PNG设置背景透明”,则图像保存时会出错。

v4.01
错误修正:碰到空白页时,自动裁边会导致软件出错退出。

v4.00
新增功能:在“切边”对话框中加入了排版功能。
新增功能:调节,包括可以连续调节参数的高斯模糊、锐化。
新增功能:表面模糊,与Photoshop中的同名功能类似,在保持边缘的同时对图像进行平滑。
新增功能:USM锐化,与Photoshop中的同名功能类似,在保持边缘的同时对图像进行锐化。
新增功能:减色选项,可以选择减色时是否抖动、减色时使用的算法等。
新增功能:照度修正、照度归一。同时去掉与此重复的原“去阴影”选项。
新增功能:光线,模仿Photoshop的“阴影/高光”。
新增功能:“色调均化”选项。
新增功能:颜色数,对当前图像的颜色数进行统计。
新增功能:在“曲线”中,增加二次调节项。
新增功能:通道,包括通道互换、通道混合、颜色替换等。原“红蓝互换”选项与“通道互换”重复,故取消。原“反白”选项也移至通道界面。
新增功能:在“切边”界面中可以选择“纠斜”,实现自动纠斜。
新增功能:“16级灰度以下PNG设置背景透明”选项,便于制作背景透明的PDF。
新增功能:对纯黑白二值图可以设置去斑点。
新增功能:原“加粗”(即“膨胀”)增加了二档,并增加“变细(腐蚀)”、“开”、“闭”。
新增功能:直方图中加入“log”选项。
功能增强:状态条上能显示当前图像的色深(bits per pixcel)。
功能增强:“锐化”增加了a1~a3级。
功能增强:增加了“自动对比度3”。
功能增强:“柔化”增加了a1~a5级,相当于半径1.0~2.0的5×5高斯模糊。原先01~05级“柔化”矩阵也进行了修改,效果比原来的更柔和。
功能增强:图像缩放改用IPP实现,速度快了很多,不过EXE文件也大了很多。
功能增强:在状态条上显示图像DPI。
功能增强:强化“曲线”的效果,原来的效果太温柔了。
功能修正:“高亮值”下限从170降至150。
功能修正:批量设置DPI时,DPI上限放宽至8000。
功能修正:去掉了缩放算法的选择项。
功能修正:批量处理时的进度条改为按照文件数显示进度,以提高精确度。
功能修正:调整了几项图像处理功能的执行顺序。
功能修正:重写底层图像数据结构、图像读写及图像处理,使CEP、CV、UV共用同一套图像引擎。
错误修正:如果图像尺寸太大,减色成纯黑白时,会一片白。
错误修正:直方图中R、B颠倒了。
对图像处理顺序进行了调整。
对本帮助文件进行修订。

v3.11
功能增强:支持Alpha通道透明的TIFF文件。
错误修正:4通道、没通道16位色PNG识别不正确。
功能修正:对PNG文件来说,能解码出一部分的文件就不再报告解码错误。
错误修正:由于IJL的不幸疏漏,造成16位量化表的JPG文件解码不正确。

v3.10
新增功能:支持webp格式的解码。
新增功能:增加“自定义工具栏”功能,可以对工具栏按钮、文字、图标等进行调整,方便使用大屏幕的用户。
功能增强:换了一套真彩工具栏图标,支持大、中、小三种尺寸。
功能增强:在打开32位bmp文件时,强制把背景置为白色。
功能增强:“色彩”中扩展了128色、64色、32色、16色、8色、4色、2色、128级灰度、64级灰度、32级灰度。

v3.09
错误修正:某些CMYK色彩空间的JPG文件解码不正确。

v3.08
错误修正:某些PNG解码不正确。

v3.07
功能增强:更改文件名排序方式,“按文件名字母顺序”时基本与Windows资源管理器顺序相同。
功能增强:更改多文件选择对话框的实现方式,减小不必要的内存占用。
错误修正:某些alpha通道透明PNG文件解码异常。
错误修正:某些CMYK色彩空间的JPG文件解码异常。

v3.06
新增功能:“切边”对话框中支持用快捷键翻页。
新增功能:在状态条上显示图像像素尺寸。
功能增强:支持某些非标准BMP图像。
错误修正:如果选择了“自动缩小”,“保存”或“另存为”存出来的图像只有当前可见区大小。

v3.05
新增功能:增加直方图显示,便于在处理时查看处理是否过头。

v3.04
错误修正:不关闭批量处理对话框,直接退出会出错。

v3.03
错误修正:某些图像减色为单色时会出错退出。

v3.02
继续消除单色图像右侧的黑色竖线。

v3.01
错误修正:某些单色图像右侧可能出现黑色竖线。

v3.00
新增功能:在“参数”中新增“JP2压缩”项,用于定量控制生成的JPEG 2000文件大小,详见使用说明。
新增功能:在“参数”中增加“反白”选项,以支持手持阅读,详见使用说明。
新增功能:在“批量转换”对话框中增加“查看日志”按钮,便于查看错误日志。
新增功能:批量处理界面支持文件夹、文件拖放,允许编辑源文件夹、目标文件夹。
功能增强:允许通过拖拽文件夹打开文件,以前只允许拖拽文件。
功能增强:优化“减色”算法,以加快速度。
功能增强:JPEG 2000编码器不再采用jasper,改用kakadu,以提高兼容性和编码效率。
错误修正:某些JPEG 2000调色板图像解码不准确。
错误修正:英文版下有时“曲线”会出错退出。
更改英文版界面字体。
改为发行Unicode版,取消ANSI版的发行。
对使用说明进行了修订。

v2.57
新增功能:支持从资源管理器中拖拽文件。
功能增强:修正“单色”算法。
功能修正:对JPG解码前先做填白处理,避免因为解码失败而出现随机颜色。
错误修正:某些JPG中的EXIF旋转标识识别错误。

v2.56
新增功能:在“批量转换”界面中,可以指定目标文件的DPI,缺省为300DPI,详见使用说明。
新增功能:“批量设置DPI”,可以批量设置BMP、PNG、JPG、TIFF文件的DPI,详见使用说明。
错误修正:IJL不能正确解码某些含JFXX段的JPG文件。

v2.55
zlib、IJG代码恢复原始版本,与IPP版说再见,以避免层出不穷的兼容性问题。

v2.54
功能增强:对含无效字符的文件路径能够给出提示。
错误修正:切边预览窗口显示的文件不正确。

v2.53
功能增强:JPEG 2000解码改用Kakadu,以加快速度。
功能增强:JPEG编解码改用经过修正的IJL 2.0,以加快速度。
功能增强:zlib、IJG代码改用IPP优化版,以加快速度。
功能增强:在批量处理界面中,选择源文件夹后,自动设置目标文件夹与源文件夹一致。
错误修正:在批量处理时,如果元文件夹与目标文件夹相同,可能会对新生成的结果文件再处理。
错误修正:在Win7下,“打开文件”对话框如果选择了“预览”,初始文件无预览。

v2.52
新增功能:“图像增强参数”中增加“红蓝互换”选项,用于处理红外照片等特殊图像。
错误修正:黑白图像选“自动色阶”后变色。
错误修正:某些Old-style JPEG压缩的TIFF文件显示有错。

v2.51
新增功能:“图像增强参数”中增加“加粗”选项,用于加粗较细的文字笔画。
功能修正:在bicubic算法中改用锐化参数,并设置bicubic为缺省放大算法。
错误修正:批量处理时,如果“色彩”选择“黑白漫画”,“新文件扩展名”选BMP,则彩色图像不会被转换成灰度图像。
错误修正:某些CMYK色彩空间的JPG文件显示不正确。
错误修正:缩图时,最下或最上一条扫描线可能不正确。

v2.50
新增功能:图像旋转,包括左旋、右旋90度,及180度旋转。
新增功能:在批量转换对话框中,选择目标文件夹时可以新建文件夹。
功能调整:状态条上的窗口切换控件更改成UnicornViewer所用控件。

v2.49
新增功能:“图像增强参数”中增加“自动色阶/自动对比度”选项,对发白、发黄的彩色页面有效果。
新增功能:在“切边”中,增加“填白”选项。如果该选项被选中,则本该被裁剪的部分不再裁剪,而是用白色填充。
功能修正:引入UnicornViewer的“切边”界面,不再按像素裁切,而是按百分比裁切。
功能修正:“高亮度”处理顺序提前,便于去掉水印。
错误修正:打开某些JPEG 2000图像时出错退出。
错误修正:选择“切边”之后再选择“自动缩小”,画面显示比例不正确。
错误修正:在选择“自动缩小”后,调节参数时图像会自动恢复原大小。

v2.48
错误修正:某些CMYK色彩空间的JPG文件打开后色彩显示不正常。
错误修正:大比例缩图时可能会出错退出。

v2.47
功能增强:LibOpenJPEG升级至v1.3,jpeg 2000解码速度有所提高。
功能增强:“柔化”级别从2级增加至5级,方便在“单色”模式下去斑。
错误修正:不能打开某些采用JPEG压缩的TIFF文件。

v2.46
新增功能:批量处理时新增“复制文件日期、时间”选项,如果选中,则结果文件与源文件具有相同的文件日期、时间。
功能修正:透明背景PNG的背景色强制设置为白色。
功能修正:对于纯粹由数字构成的文件名,即使在“文件显示顺序”中选择了“按文件名字母顺序”(缺省),也会按照数字的实际值进行排序,避免10.jpg排到2.jpg前面。

v2.45
错误修正:某些CMYK色彩空间的JPG文件显示不正确。
错误修正:大比例缩图时,会出现亮线。

v2.44
功能增强:改写镜像、翻转、旋转90度的代码,以提高速度。
错误修正:某些CMYK色彩空间的JPG文件显示不正确。

v2.43
新增功能:为主窗口添加LOGO。
新增功能:鼠标双击主窗口空白区(黑色背景区),相当于点击“文件->打开”菜单。
错误修正:某些图像减色至4级灰度时会出错。

v2.42
功能修正:另存为TIFF时,除黑白图像采用CCITT G4压缩外,其他所有图像均采用LZW压缩,以获取最大兼容性。
功能修正:透明背景GIF的背景色强制设置为白色,不再用GIF本身的背景色。

v2.41
错误修正:缩小显示图像时可能会出错退出。

v2.40
新增功能:支持按照JPEG格式中的EXIF信息,自动对图像进行旋转。某些数码相机喜欢这个。
新增功能:“文件显示顺序”增加“按文件末尾数字”排序选项。
错误修正:碰到某些破损GIF文件会出错退出。

v2.39
错误修正:在放大某些图像时,会出错退出。

v2.38
兼容某些JPEG压缩的TIFF文件。

v2.37
功能增强:在选择“8级灰度”、“4级灰度”时,背景色强制置为白色。

v2.36
功能增强:支持某些特殊格式的TIFF文件。
错误修正:如果图像文件正在被某些软件打开,则不能正常读取该文件。

v 2.35
错误修正:某些大图缩小时,会出错退出。

v2.34
功能增强:支持某些特殊格式的TIFF文件。

v2.33
功能增强:支持CMYK色彩空间的JPG图像。

v2.32
功能增强:支持某些柯达扫描仪生成的OJPEG TIFF图像。

v2.31
新增功能:支持jpeg 2000,包括jp2、j2k和jpc文件。
错误修正:在打开某些CCITT G4压缩的TIFF图像时,会出现缓冲区溢出错误。

v 2.30
功能增强:支持上一版本未能支持的非标准OJPEG格式TIFF文件,怪文件还真是层出不穷。
功能增强:对于长、宽DPI不相等的TIFF文件,能够自动调整长宽比。

v 2.29
1、功能增强:继续加强对非标准OJPEG格式TIFF文件的支持,但是有些文件还是无法解码,只能保证软件不会异常退出。
2、功能增强:允许文件存储为TIFF格式,并且支持全部颜色选项(上一版本只能存储单色TIFF)。单色图像采用CCITTFAX4(G4)压缩,真彩图像采用JPEG压缩,其它图像采用LZW压缩。

v 2.28
新增功能:模仿Excel,在状态条上显示当前窗口列表。
新增功能:在状态条上显示当前文件序号/当前文件夹中的文件数。
新增功能:工具条。其实最初的版本是有的,后来由于与某些Windows 95环境冲突,所以删了,现在重新恢复。
新增功能:在“色彩”选项中,可以设定将24位真彩色减色为256色。
新增功能:减色后的图像允许存为BMP、TIFF格式。
功能增强:减色功能升级到CxImage 5.99c所带的源代码。
功能增强:在批量减色时,如果选择了“不处理彩色图像文件”,则根据图像的实际内容而不是文件格式判断图像是否为彩色图像。
功能增强:zlib升级为1.2.3,以避免潜在的安全风险。
功能增强:除了按文件扩展名外,还按文件头识别图像文件格式。
功能增强:GIF解码器换成了cximage提供的解码器,虽然速度差了点,不过容错能力比原来的强。
功能增强:在“文件->打开”对话框中,可以选择是否打开预览功能(缺省不打开)。
功能增强:对libtiff源代码进行修正,以更好地支持OJPEG格式的TIFF文件。由于历史的和技术的原因,国内很多扫描外包公司提供的彩色TIFF影像文件都是非标准的OJPEG格式(没有核心技术的悲哀!)。由于地址错位,Photoshop、ACDSee等正宗图像处理软件都会将这些文件当作已损坏的文件加以拒绝,俺实在是被逼无奈,才会捏着鼻子去支持这些垃圾格式。

v2.27
功能增强:改进“打开文件”对话框的图像预览效果。
功能增强:加快用箭头键移动图像的速度,代价是图像移动不是那么平滑。
错误修正:在1280*1024分辨率下,用鼠标拖动很大的图像时,图像会乱跑。
错误修正:在“参数”对话框中,先选中“Jpg质量”后再切换到“缩放”,会出现“缩放”项中的最大值变为100(滑动条处于最右端)。感谢樊云军的指正。

v2.26
1、功能增强:减色功能升级到CxImage 5.80所带的源代码。
2、功能增强:缩小图像时,允许指定缩小算法。以前缩小时一律使用bilinear算法。
3、功能增强:在将彩色图像转换成灰度图像时,灰度计算公式从G = (R + G + B) / 3改成G = (54 * R + 183 * G + 19 * B) / 256,与libpng采用的公式相同。
4、功能增强:读取BMP文件时,能够处理BI_RLE8、BI_RLE4、BI_BITFIELDS格式的图像。
5、功能增强:“打开文件”对话框升级到ComicsViewer 1.20带图像预览的对话框。
6、功能增强:“打开目录”对话框升级到ComicsViewer的树型目录对话框。
7、功能增强:libtiff升级到v3.7.1,libpng升级到v1.2.8,zlib升级到v1.2.2。并且zlib使用的是ASM版(其实只有两个文件是ASM的)。虽然没有确凿的测试数据,不过我相信png文件的编/解码速度会快一点。
8、功能增强:简体中文版对话框的字体全部修改成宋体9。

v2.25
新增功能:缩放的时候,可以选择放大算法:bilinear、bicubic和nearest,分别适应于中档、高档、低档机,当然放大后的效果也不一样。

v2.24
功能修正:png格式的压缩率从Z_BEST_COMPRESSION改成Z_DEFAULT_COMPRESSION,牺牲了一点文件长度,但是速度加快许多。

v2.23
错误修正:批量处理时源文件不能包含TIFF、WMF。

v2.22
新增功能:支持读取TIFF、WMF格式的文件,但是不能输出这两种格式。
功能修正:透明GIF文件的背景色改为窗口背景色,而不是黑色,以符合习惯。

v2.21
功能修正:色彩的缺省选项从“黑白漫画”修改为“保持原样”。

v2.20
1、新增功能:可以将彩色和256级灰度图像降低到16级、8级、4级灰度或单色。
2、新增功能:支持16级、8级、4级灰度和单色效果预览。
3、新增功能:PNG格式支持16级、8级、4级灰度和单色图像的输出。

v2.19
1、新增功能:支持PNG格式。读取的时候可以读取所有色彩模式的PNG,输出的时候只能输出24位真彩和256级灰度的PNG。
2、新增功能:切边。可以批量处理,切边参数可以保存。
3、功能修正:页面浏览的快捷键改为与ComicsViewer相同。

v2.18
为了更好地处理动画截图,对图像增强进行如下调整:
a. 锐化操作在操作流中的顺序提前。
b. 锐化参数增加到9级。

v2.17
增强线程安全性。

v2.16
同步发行英文版。

v2.15
除JPG文件外,输入格式增加对UFO、GIF、BMP的支持,输出格式增加对BMP的支持。现在本程序也可以当作文件格式转换工具使用了。

v2.14
将“参数”对话框的标签由一行改为两行,避免用箭头按钮进行切换。

v2.13
1. 对“批量转换”界面进行了调整。
2. 窗口背景色改为黑色。
3. 增加了错误记录文件访问的鲁棒性。

v2.12
1. 新增“自动播放”功能:从当前文件开始,顺序显示同一目录下的后续文件。文件显示顺序同浏览顺序。自动播放间隔通过“自动播放设置”功能进行设置。
2. 对用箭头键操纵的大图像滚动算法进行了改进:采用多媒体专用的高精度定时器(精度到1ms),对时间进行精确定位,保证在高、低速机器上均能得到平滑的滚动效果。测试平台包括:在赛扬300A/128MB上跑的Windows Me、Windows NT Server 4.06,在PIII 1G/256MB上跑的Windows 98 SE2、Windows 2000 Server。

v2.11
1. 新增鼠标浏览功能:除了普通的按住左键拖动大图外,还支持鼠标翻页(双击左键下翻,按住左键单击右键则上翻)。
2. 增加文件监测功能:当目录中的文件发生变化(添加、删除、更名)时,自动刷新文件缓冲,翻页时就能浏览到更新后的文件。但是继续保留2.10版加上去的“刷新目录”菜单,原因很简单:为了保证在不同的平台上都能运行,程序中使用了通用监测函数,而没有采用NT专用函数,这样如果打开的是网路驱动器上的文件,自动监测功能可能不太可靠,还要手动刷新。浏览本机图像则不存在这种问题。

v2.10
继续从ComicsViewer引进idea和s/c:
1. 仿照Photoshop的Curve功能,增加了“曲线”(专业术语应该叫“对比度延展”)功能。不过可能是因为我在曲线生成方面偷了点懒,效果不如Photoshop明显,但也有长处:(1).参数化曲线,结果可重复;(2).预设多种模式,便于初学者上手,也便于学习Photoshop的Curve功能。
2. 仿照IE中的“后退”和“前进”功能,增加了“前一页”和“后一页”功能。这样在浏览时就不用担心无意中碰到Home或End键了:只要敲一下退格键(BackSpace)或选“查看->前一页”菜单即可返回原页面。
3. 增加“全屏浏览”和“自动缩小到窗口大小”功能。其中“全屏浏览”的效果看起来有点土,但MFC只能做到这一步,我又懒得用DirectX,所以就这样了。
4. 增加“刷新目录”功能。如果当前窗口所显示文件的目录中有文件加入或删除,选择此功能后就能正确地用PgDn和PgUp键浏览变化后的文件。其实对用户来讲这个功能应该是多余的,好的程序应该能够自动检测到目录所发生的变化。请期待以后的升级吧。
5. 增加关键性的条件判断,在读取图像文件失败后不会再出现保护性错误。
以现在的浏览功能来看,ComicEnhancer Pro已经差不多可以用来看漫画了,并且和其它图像浏览器相比具有独到的特点:
1. 可以随时根据漫画质量和当前显示器设置对图像进行增强,保证最佳视觉效果,同时图像文件本身保持不变。
2. 可以在一个主窗口下同时浏览多个文件,或同一文件的多个备份,便于比较。不过每打开一个图像窗口均需消耗大量内存,因此在低于128MB内存的机器上不提倡同时打开4个以上的窗口。基本上当你听到硬盘狂响不止时就是物理内存不足了。

v2.02
从ComicsViewer引进了新的idea和s/c:
1. 增加了基本图像浏览功能:打开某个文件后,用PgDn、PgUp、Home、End键可以在同一个窗口中打开同级目录下的其它文件。文件的浏览顺序通过“查看->文件显示顺序”菜单项进行设置。
2. 经高人指点,对mask滤波算法内核进行了优化。受其影响,放大、锐化、柔化操作速度均有提高。
3. 对用鼠标、键盘操作的图像滚动进行了更改,使滚动过程更平滑。
4. 修正了一个bug:参数栏中的“尺寸缩放”不等于100,“以上参数仅适用于当前窗口”项也未选中,但是新打开的窗口仍然按100%显示。
5. 为“参数”栏增加了快捷键:Ctrl+P和Ctrl+A,以方便左撇子和右撇子。

v2.01
修正了v2.0中的一个bug:在进行“成批转换”时,只有“属性”对话框中的参数起作用,“批量漫画增强”(原ComicEnhancer界面)中的参数不起作用。

v2.0
推出了众望所归的“预览”功能,而且是:
1. 全尺寸“所见即所得”的预览效果;
2. 真正MDI的预览界面,可以同时预览多个文件,或打开同一文件的多个窗口(窗口上限受内存、CPU速度等限制,建议不超过10个);
3. 预览时可以指定参数的作用范围,可以单页调节/保存,也可以成批调节/保存;
4. 通过预览确定参数后,选择“文件->成批转换”菜单即可调出原ComicEnhancer界面,对成批图像文件进行处理。
由于用户界面、功能等改动较大,因此软件版本号升级为整数,软件名称也由ComicEnhancer更改为ComicEnhancer Pro。

v1.24
原来的“转换”按钮更改为“全部转换”,即对源目录下的所有文件进行转换,适用于参数已确定的情况;新增“选择转换”按钮,允许对选定的(多个)文件进行转换,适用于参数尝试、调整阶段。

v1.23b
为了与Mpeg2Jpeg相配合,对放大时的平滑算法进行了调整。此调整对黑白漫画几乎没有什么影响。
如果图像放大后在边线、文字附近出现碎片,可以通过“柔化”进行过滤,也可以通过增加亮度、对比度加以消除,不过亮度上去后可能需要进行Gamma校正,否则会太刺眼。

v1.23a
    (1).原有“锐化”功能的效果太显著了,增加两档较弱的效果,便于实用。
    (2).将“黑白漫画”选项由复选项改成列表项,更加直观、方便,选项也增加到彩色漫画、黑白漫画、保持原样三个。
    (3).增加目录选择对话框的尺寸,方便浏览。

v1.22
    (1).对亮度、高亮度、对比度、Gamma校正算法进行了最彻底的优化,速度接近理论极限值,大概用于实时处理都够了。
    (2).由于Gamma校正的查表由二维表改为一维表,表格所占内存减少为原来的1/80,“输入值圆整为5的倍数”这项内部限制也被取消。
    (3).全部重写了JPEG访问接口。以前的访问接口其实是copy来的,经过了层层封装,使用起来很方便,可是中间环节太多,影响效率。新的接口去掉了所有不必要的中间环节,直接对IJG的JPEGLIB进行操作,缓冲切换也减至最小。但是毕竟是文件操作,还有复杂的编码/解码过程,所以速度改进有限。不过光是其中的错误处理一项就让我头昏了一下午。
    (4).对尺寸缩放、锐化、柔化进行了微小改进,速度提高不很明显。这些功能的核心算法是各种高/低通滤波,能到这种程度已经让我偷笑了。幸好这三个功能也不常用。

v1.21
将Gamma校正的算法由硬碰硬的幂运算改成了查表,速度终于优化到可以用于大尺寸图像的地步。

v1.20
    (1).应公众要求,破例将界面由英文转为中文,如果使用的不是简体中文Windows,需要外挂NJStar。
    (2).增加了一批图像新功能:Gamma校正、尺寸缩放、锐化、柔化。
    (3).增加了设置管理功能:保存、调入、恢复。
    (4).增加停止功能:在开始转换后,用户如果愿意可以中断当前正在进行的转换。
    (5).Logo图像由静态变成动态。当时手头一时找不到合适的动画制作软件,临时现编了一个的说。
    (6).更正了一个错误:如果目标目录在源目录里的话,会一直目录套目录转换下去不会停。
    (7).去掉了两个装饰性的选项:Auto Level(自动平衡)和Edge Enhance(边缘增强)。

v1.1
增加对Highlight的阀值的调节功能,缺省阀值从原来的170涨到190,加强对较淡的边线、文字的保护。

v1.02
将Slider的Pagesize从10降到5,方便懒人使用。

v1.01
对Brightness、Highlight的运行速度进行了优化

v1.0
提供Brightness、Contrast、Highlight、JPEG Quiality、Gray Scale、Edge Enhance功能,支持JPG文件格式。