再往DjVu鼓吹者的头上敲一棒子
最近在某论坛又看到有人在鼓吹DjVu,甚至声称拿到PDG就转成DjVu,忍不住想再敲打敲打。
早几年前就已经有人举出过实例,证明PDG、TIFF转DjVu会因为有损压缩而产生错别字,似乎时间长了一堆新人又不知道了,或者以为以前的例子都是低分辨率图像,现在分辨率高了,不会再有事了——还真是图样图森破。
那就再给大家见识一个高分辨率扫描图像转DjVu后出问题的例子:
http://djvu.org/gallery/documents/magazines/computerworld/index.djvu
把文件下载下来后用WinDjView打开,拖到最后一页,看到那个空荡荡的椭圆白框了吗?你不觉得在那个位置出现这么一个空白区有点反人类?
用最新版DjVuToy把这个DjVu文件转换成PDF,在同样位置你是不是看到了点什么:
如果还不死心,可以用DjVuToy导出该页的字典图像,然后你就会看清楚究竟损失了什么。
那么问题来了:
1、djvu.org网站在DjVu方面的专业性需要怀疑吗?你自己鼓捣的DjVu文件,有可能比这种专业网站专门做出来当门面的文件质量更高吗?
2、用DjVuToy导出信息可以看到,这一页的DPI是600,你这辈子到手的PDG文件就算再清晰,有可能达到600 DPI吗?你到手的扫描图像,有几张能真正达到600 DPI?
3、即使是这样专门制作来当门面的高分辨率DjVu,都会出现把图像内容“有损”掉的情况,那些误信DjVu的人是不是真心“无知者无畏”?那些鼓吹DjVu的人是不是要么蠢要么坏?
我可以理解某些人追求DjVu是为了节省硬盘空间,但我相信等到他们过了“贫穷限制想象力”的阶段,就会发现省下来的钱都用来交智商税了,说不定还不够。毕竟有些资料是有窗口期的,等过了窗口期,想洗牌都找不到原始文件了。
BTW:PDF的JBig2压缩与DjVu的JB2压缩是一路货色,在采用有损压缩时同样存在把某些内容“有损”掉的可能,这就是为什么我说我在有选择的情况下,从来不要DjVu或从DjVu转出来的PDF(不论是否采用JBig2压缩),或者直接采用JBig2压缩的PDF的原因:我可以从数学上证明DjVuToy从JB2到JBig2的转换过程是无损的,但我没有办法证明我拿到的DjVu或PDF在制作时,究竟选择了有损还是无损的JBig2压缩,所以这种格式的电子书不管你们信不信,我自己反正是不信的。
再往DjVu鼓吹者的头上敲一棒子的更多相关文章
- ios开发之再谈设计模式
子曰:设计模式这东西,没有好坏之分,只有合适于不合适 天去面试很有意思,技术考官指着最后一道二选一的编程题说,这是昨天晚上专门为你新加的.当时我听后倍感惭愧. 虽然当时在纸上把大概思路和设计说了下.为 ...
- DjVu、PDF中的隐藏文本
作者:马健邮箱:stronghorse_mj@hotmail.com发布:2012.06.11 目录一.背景二.DjVu中的隐藏文本三.PDF中的隐藏文本 一.背景 目前对于扫描电子文档,网上比较流行 ...
- 洋媳妇Susan教育孩子的方法
洋媳妇Susan教育孩子的方法 一个中国婆婆跟我说:「我的儿子去美国留学,毕业后定居美国. 还给我找了个洋媳妇Susan. 如今,小孙子Toby已经3岁了. 今年夏天,儿子為我申请了探亲签证. 在美国 ...
- KaiWu 的体验
KaiWu 的体验 来源 https://www.zhihu.com/question/28950444 >>>>>>>>>>>> ...
- 学习 git基础命令
缘起 年后到了新公司,由于个人意愿到了一个海外的项目组,除了自己从Java技术栈转了C#技术栈外,很多技术都是第一次使用,学习压力不小啊. 自己也就先从常用的技术开始学起,比如C#,AngularJS ...
- 课程设计 --- 黑白棋中的 AI
原文链接:https://www.dreamwings.cn/reversi/3013.html 到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都 ...
- mybatis使用generator生成对应的model、mapping配置文件、dao
http://blog.csdn.net/fengshizty/article/details/43086833 使用时 补充 输入命令:cd d:\generator 敲回车 再输入命令:d: 敲 ...
- Java Socket Server的演进 (一)
最近在看一些网络服务器的设计, 本文就从起源的角度介绍一下现代网络服务器处理并发连接的思路, 例子就用java提供的API. 1.单线程同步阻塞式服务器及操作系统API 此种是最简单的socket服务 ...
- 阿帕奇apache服务器和webDav服务器快速配置。
当自己在家敲代码需要发请求时,就可以配置本地apache,Mac电脑自带的服务器.这个比windows上的本地服务器还要好用,下面写下最快速配置方案. 0.在开始之前需要给自己的电脑设置下开机密码,想 ...
随机推荐
- HttpGet请求传递数组(集合)
在HttpGet请求是传递数组(集合)的方法: 1.使用Ajax方法传递 eg: ajax.({ url:/test, data:["], type:"get" }); ...
- XMPP即时通讯协议使用(四)——Openfire服务器源码编译与添加消息记录保存
下载Openfire源码 下载地址:https://www.igniterealtime.org/downloads/index.jsp,当前最新版本为:4.2.3 Eclipse上部署Openfir ...
- unity DOTween Pro的使用--简化流程--自动播放
当gameobject setActive(true)的时候自动播放动画 1) 添加DoTween Animation. 设置动画效果, 略 选中 AutoPlay, 取消 AutoKill 2) 在 ...
- Codeforces Round #420 (Div. 2) - E
题目链接:http://codeforces.com/contest/821/problem/E 题意:起初在(0,0),现在要求走到(k,0),问你存在多少种走法. 其中有n条线段,每条线段为(a, ...
- Intellij CodeComplete
code-complete change to ALT + /
- 请求体中需要的true和requests包put请求冲突了
python put请求,添加请求头 不知道怎么解决
- MyCat(1.2)Mycat的安装
[0]基本环境 OS:CentOS7.5 Software envireonment:JDK1.7.0 Master Software:Mycat1.6.5 Linux Client:CRT 8.0 ...
- hdu 3183 rmq+鸽巢原理
题目大意: 给你一个数字字符串序列,给你要求删掉的数字个数m,删掉m个数使的剩下的数字字符串的之最小.并输出这个数字: 基本思路; 这题解法有很多,贪心,rmq都可以,这里选择rmq,因为很久没有写r ...
- Ubuntu18.04 安装 Idea 2018.2
https://blog.csdn.net/weixx3/article/details/81136822 Ubuntu18.04 安装 Idea 2018.2环境信息:OS:Ubuntu18.04J ...
- 百度小程序-图片画廊-使用previewImage方法实现
.swan <!-- 轮播图 S--> <view class="swiper-box"> <swiper style='height:{{swipe ...