这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管服务提供商中运行的命令 epsilon
程序:
您的姓名
EPSILON - 强大的开源小波图像压缩器
概要
小量 指挥 [配置] FILES...
商品描述
EPSILON 是一个强大的开源小波图像压缩器。 该项目旨在
并行和鲁棒的图像处理。 EPSILON 源码包由两个核心部分组成:
可移植的、设计良好的、线程安全的库和编解码器,构建在库的顶部。
库 API 非常干净、简单并且有详细的文档记录。
EPSILON 的压缩算法基于小波变换,所谓的嵌入式
编码。 前者是著名的数学理论,后者是非常有效的,
渐进式图像编码的简单方法。 EPSILON 中采用的实际算法是
称为 SPECK - 由 Asad Islam 和 William 引入的 Set Partitioned Embedded 块编码器
珀尔曼。
目前,EPSILON 支持 30 多个小波滤波器并具有自动化接口
添加新的。 该脚本称为 make_filterbank.pl 用过滤器翻译 XML 文件
适用于 EPSILON 的 C 源代码的描述。 所以,唯一的手动操作是
将程序的输出复制并粘贴到 EPSILON 的源代码中。 重新编译后
新的过滤器将可以使用。 Special 注意事项: 如果您成功添加新过滤器,
请寄给我。 它们将包含在主源代码树中。
EPSILON 项目遵循古老而富有成效的 UNIX 传统,以保持简单。 例如,
EPSILON 与 PPM (便携式像素地图)和 PGM (便携式 GrayMap)图像。 他们
提供基本功能并作为交换的最小公分母
不同平台和操作系统之间的真彩色和灰度图像。 看着
转换器? 尝试 网络管理 (http://netpbm.sourceforge.net/) - 完美的开源工具-
包含 220 多种实用工具的套件!
为了存储和交换压缩图像 EPSILON 定义了它自己的 PSI (ePSILon)
文件格式。 PSI 格式的设计考虑到了简单性和容错性。 一种
典型的 PSI 文件由几个独立的块组成。 每个块代表来自
原始图像并具有完全独立的标题。 每个块都受到保护
CRC 和(实际上有两个 CRC:一个用于报头,另一个用于数据)分开
从具有特殊独特标记的其他块。 这种简单而有效的技术使
流同步和错误定位几乎微不足道。 此外,区块头是
保存为纯文本:您可以使用您喜欢的文本编辑器手动编辑它们。 核实
出来了!
EPSILON 有很多有趣的功能。 例如,您可以精细地控制
压缩率(感谢嵌入编码),在图像之间手动分配位预算
通道,切换到不同的编码和过滤模式等。 EPSILON也
支持具有恒定内存和线性时间复杂度的巨大文件。
另一个不错的功能是多线程支持。 尝试(重新)使用 Pthreads 编译 EPSILON
启用(有关更多信息,请参阅安装),您肯定会注意到编码速度显着提高
(假设您的计算机上有多核 CPU 或多个 CPU)。
从 0.6.1 版开始,EPSILON 还支持集群模式。 这是一个非常强大的功能
如果您有几台机器与高容量网络相连,比如千兆以太网或
甚至更快。 要构建可识别集群的 EPSILON 版本,请阅读 INSTALL 文件。
虽然 EPSILON 有一组丰富的特殊特殊选项,但您没有义务使用
他们。 默认值通常很好。 EPSILON的命令行界面非常友好
并设计为类似于 GZIP or 邮编。 所以, `ε foo.ppm' 和 `ε -d
bar.psi' 通常就足够了。
配置
命令:
-e, --编码文件
编码指定的文件。 如果没有给出命令,这是默认操作。
-d, --解码文件
解码指定的文件。
-t, --截断文件
截断指定的文件。 由于嵌入编码,块截断是等效的
阻止重新压缩。 换句话说,截断进一步压缩了 PSI 文件。
-s, --起始节点
启动集群节点。 注意:此选项在集群感知 EPSILON 版本中可用
仅适用于从节点。 换句话说,你应该调用 小量 -s
在集群中的每个 SLAVE 节点上。 停止集群节点更简单: killall
小量.
此命令运行一个守护程序,该程序在特定端口接受 TCP 连接
(默认为 2718)。 对于每个连接,一个新的子进程被分叉,主进程
程序等待下一个连接。 编码和解码统计是 SYSLOG-ed
使用 LOG_DAEMON 工具。
如果您在 MASTER 节点上安装了 DSH(分布式外壳),您还可以使用两个
方便的脚本,即 start_epsilon_nodes.pl 和 stop_epsilon_nodes.pl,为
分别启动和停止所有集群节点。
主机配置取自所谓的 .epsilon.nodes 文件。 默认情况下,
程序检查 .epsilon.nodes 在当前目录中。 如果没有这个文件,
程序尝试 .epsilon.nodes 在用户的主目录中。 你也可以明确
指定文件位置作为脚本的参数。 文件格式如下所述。
-a, --列出所有FB
列出所有可用的滤波器组。 此命令显示 ID、NAME 和正交性 TYPE
对于每个可用的滤波器组。 从 0.8.1 版本开始,EPSILON 也支持提升
著名的 Daubechies 9/7 双正交小波变换的实现。 有用
比通用的基于过滤器的对应物更快。 默认 ID 为 涂抹97电梯
-V, - 版
打印程序版本。
可选项 至 使用 - `--编码文件' 命令:
-f, --过滤器ID=ID
小波滤波器组 ID。 也可以看看 --列出所有FB 命令。
-b, --块大小=VALUE
要使用的块大小:32、64、128、256、512 或 1024。默认值为 256。使用
不推荐使用非常小的块以及使用非常大的块:前者
增加了大量的标头开销,后者减慢了编码/解码速度
在图像质量方面没有任何好处。 然而,在一些罕见的情况下,这
规则正好相反。
-n, --mode-正常
使用所谓的正常处理模式。 此模式可与两者一起使用
正交和双正交滤波器。 在实践中你应该避免这个参数
除非您正在对小波进行一些研究。
-o, --模式-otlpf
使用所谓的 OTLPF 处理模式。 简而言之,OTLPF 是一种黑客攻击
当图像被分成几块时减少边界伪影(通常
发生)。 由于数学约束,这种方法可以应用于双正交
仅过滤器。 默认情况下启用此选项。
-r, - 比率=VALUE
使用此参数,您可以精细地控制所需的压缩比。 这个值是
不必是整数:例如,34.102 的值就可以了。 为了
压缩比应该大于 1 的明显原因。虽然 EPSILON 的位-
分配算法相当精确,太高的压缩率会被剪掉
由于块头开销。 另一方面,空白图像(例如全黑)
肯定会被编码成几百个字节,不管
你想要的压缩率。 然而,对于最真实的图像和
压缩比(假设为 10..200)实际压缩比将非常接近
到你想要的价值。 默认压缩比为 10。
-2, --两次通过
默认情况下,EPSILON 使用恒定比特率 (CBR) 比特分配算法。 社区康复是
非常快,通常可以提供可接受的图像质量。 如果图像质量是
担心,请尝试使用两次可变比特率 (VBR) 比特分配算法。
VBR 提供比 CBR 更好的结果,但运行速度大约慢两倍。
-N, --节点列表
带有集群配置的文件。 注意:此选项在集群感知中可用
仅限 EPSILON 版本,适用于 MASTER 节点。 该文件中的每一行都应该
符合以下格式:
用户@主机:端口^CPU数量
所有字段都是必填字段。 此处不允许有注释、空格或空行。 这
第二个字段可以是 IP 地址或主机名。 最后一个字段实际上是
与相应 SLAVE 节点的同时 TCP 连接数。 通常它
设置为 CPU 的数量或稍大一些。
如果省略此选项,EPSILON 将尝试 .epsilon.nodes 在当前和家里
目录(按该顺序)。
注 1:“用户”字段由 start_epsilon_nodes.pl 和 stop_epsilon_nodes.pl 至
SSH 进入目标框。
注 2:“端口”是 EPSILON 节点的端口,而不是 SSH 的。
-T, --线程
编码线程数。 注意:该选项在线程感知 EPSILON 中可用
仅版本。
--Y-比率=VALUE, --Cb比=VALUE, --Cr比=VALUE
Y、Cb 和 Cr 通道的比特预算百分比。 值应该
一共给100%。 请注意,这些选项对真彩色(即 PPM)有意义
仅图像。 默认值为 90-5-5。
--无重采样
默认情况下,EPSILON 使用所谓的 4:2:0 重采样对真彩色图像进行重采样
方案。 这个技巧本质上加快了编码/解码的速度而不牺牲
画面质量。 通常没有理由禁用重采样。
可选项 至 使用 - `--解码文件' 命令:
-T, --线程
解码线程数。 注意:该选项在线程感知 EPSILON 中可用
仅版本。
-N, --节点列表
带有集群配置的文件。 注意:此选项在集群感知中可用
仅限 EPSILON 版本,适用于 MASTER 节点。 该文件中的每一行都应该
符合以下格式:
用户@主机:端口^CPU数量
所有字段都是必填字段。 此处不允许有注释、空格或空行。 这
第二个字段可以是 IP 地址或主机名。 最后一个字段实际上是
与相应 SLAVE 节点的同时 TCP 连接数。 通常它
设置为 CPU 的数量或稍大一些。
如果省略此选项,EPSILON 将尝试 .epsilon.nodes 在当前和家里
目录(按该顺序)。
--忽略-hdr-crc
忽略报头 CRC 错误。
--忽略数据-CRC
忽略数据 CRC 错误。
--忽略格式错误
跳过畸形块。
可选项 至 使用 - `--截断文件' 命令:
-r, - 比率=VALUE
所需的截断率。 也可以看看 --截断文件 命令。
可选项 至 使用 - `--起始节点' 命令:
-P, - 港口=VALUE
默认情况下,集群节点侦听端口号 2718。使用此选项,您可以设置
另一个端口号。
相当常见 opţiuni:
-H, --停止错误
默认情况下,如果出现故障,EPSILON 将进入下一个输入文件。 有了这个
您可以更改默认行为的选项:EPSILON 将在第一个错误时停止。 笔记
在 MPI 模式下,此选项不可用,EPSILON 总是在出错时停止。
-q, - 安静的
默认情况下,EPSILON 在其运行过程中会显示漂亮的统计数据。 有了这个选项
你可以要求EPSILON安静。
-O, --输出目录=DIR
编码、解码和截断文件的输出目录。 如果没有设置,输出
文件将保存在与输入文件相同的目录中。
帮助 opţiuni:
-?, - 帮帮我
显示帮助信息。
- 用法
显示简短的使用信息。
示例
使用两遍 VBR 算法对当前目录中的所有 PPM 文件进行编码:
小量 *.ppm -2
使用 1 个线程以 100:4 的压缩比编码 PGM 文件:
小量 -e 大.pgm -r 100 -T 4
将所有文件解码为 / tmp目录 目录,安静运行:
小量 -dq *.psi -O / tmp目录
解码严重损坏的文件列表:
小量 -d *.psi --忽略-hdr-crc --忽略数据-CRC --忽略格式错误
使用非标准端口号启动集群节点:
小量 -s -P 1234
使用自定义集群配置对文件进行编码:
小量 *.ppm *.pgm -N /path/to/.epsilon.nodes
使用所有可用处理器使用 MPI 引擎编码文件:
米匹伦 C 小量 测试.ppm
使用 onworks.net 服务在线使用 epsilon