cwebp解码器的使用


cwebp

cwebp -将图像文件压缩为WebP文件


概要

cwebp [options] input_file -o output_file.webp

描述

cwebp使用WebP格式压缩图像。输入格式可以是PNG,JPEG,TIFF,WebP或原始Y’CbCr样本。


选件

基本选项是:

-o string

指定输出WebP文件的名称。如果省略,cwebp将执行压缩,但仅报告统计信息。使用“-”作为输出名称会将输出定向到“ stdout”。

-- string

明确指定输入文件。例如,如果输入文件以“-”开头,则此选项很有用。此选项必须出现last。此后任何其他选项将被忽略。

-h, -help

简短的使用摘要。

-H, -longhelp

所有可能选项的摘要。

-version

打印版本号(作为major.minor.revision)并退出。

-lossless

对图像进行编码而不会造成任何损失。对于具有完全透明区域的图像,仅当使用该-exact选项时,才会保留不可见像素值(R / G / B或Y / U / V) 。

-near_lossless int

指定近乎无损的图像预处理级别。此选项调整像素值以帮助压缩,但对视觉质量的影响最小。它会自动触发无损压缩模式。范围是0(最大预处理)到100(不进行预处理,默认)。典型值在左右60。请注意,-q 100 有时可能会产生更好的结果。

-q float

在0和之间指定RGB通道的压缩系数100。默认值为75。

如果是有损压缩(默认),则较小的因数会产生质量较低的较小文件。通过使用值可获得最佳质量 100。

在无损压缩(由-lossless选项指定)的情况下,较小的因数可以加快压缩速度,但会产生较大的文件。通过使用值可实现最大压缩100。

-z int

lossless以0到9之间的指定级别打开压缩模式,级别0是最快的,级别9是最慢的。快速模式比慢速模式产生更大的文件大小。一个很好的默认值是-z 6。对于某些质量和方法的预定义设置,此选项实际上是快捷方式。如果随后使用选项-q 或-m,它们将使该选项的效果无效。

-alpha_q int

在0和 之间指定alpha压缩的压缩系数100。使用值可实现alpha的无损压缩100,而较低的值会导致有损压缩。默认值为 100。

-preset string

指定一组预定义参数以适合特定类型的源材料。可能的值有:default,photo,picture, drawing,icon,text。

由于将-preset覆盖其他参数的值(-q 一个参数除外),因此该选项最好应按参数的顺序首先出现。

-m int

指定要使用的压缩方法。此参数控制编码速度与压缩文件大小和质量之间的权衡。可能的值从0到6。默认值为4。当使用更高的值时,编码器将花费更多的时间检查其他编码可能性,并决定质量增益。较低的值可能导致处理时间更快,但文件大小较大且压缩质量较低。

-resize width height

将源调整为大小为widthx 的矩形height。如果width或height参数中的任何一个(但不是全部)均为0,则将计算该值,并保留宽高比。

-crop x_position y_position width height

将源裁剪为在坐标(x_position,y_position)处具有左上角且大小为widthx 的矩形height。此裁剪区域必须完全包含在源矩形内。

-mt

如果可能,请使用多线程进行编码。

-low_memory

通过节省四倍于压缩大小(通常)来减少有损编码的内存使用。这将使编码变慢,并且输出的大小和失真会稍有不同。该标志仅对方法3及更高版本有效,并且默认情况下处于禁用状态。请注意,保留此标志将对比特流产生一些副作用:它将强制执行某些比特流功能,例如分区数(强制为1)。请注意,cwebp使用此选项时,将打印有关位流大小的更详细的报告。

有损期权
这些选项仅在进行有损编码(默认设置,带有或不带有alpha)时才有效。

-size int

指定目标大小(以字节为单位)以尝试达到压缩输出。压缩程序将进行几次局部编码,以尽可能接近此目标。如果同时使用-size和, -psnr则以-size价值为准。

-psnr float

指定目标PSNR(以dB为单位)以尝试达到压缩输出。压缩程序将进行几次局部编码,以尽可能接近此目标。如果同时使用-size和,-psnr则以 -size价值为准。

-pass int

设置选项-size或使用的二分法期间要使用的最大通过次数 -psnr。最大值为10,默认值为1。如果使用了选项 -size或-psnr,但未-pass指定,则将使用默认值“ 6”次传递。

-af

打开自动过滤器。该算法将花费额外的时间来优化滤波强度,以达到均衡的质量。

-jpeg_like

更改内部参数映射以更好地匹配JPEG压缩的预期大小。通常,此标志将产生一个输出文件,其大小与其JPEG等效(对于相同的-q设置)类似,但视觉失真较小。
高级选项:

-f int

在0(不过滤)和100(最大过滤)之间指定解块过滤器的强度。值0将关闭所有过滤。较高的值将增加在解码图片后应用的滤波过程的强度。值越高,图片越平滑。典型值通常的范围内20来50。

-sharpness int

指定过滤的清晰度(如果使用)。范围是0(最锐利)至7(最不锐利)。默认值为0。

-strong

使用强过滤(如果由于该-f 选项而使用了过滤)。默认情况下,强过滤处于启用状态。

-nostrong

禁用强过滤(如果由于该-f 选项而使用了过滤),而改用简单过滤。

-sharp_yuv

如果需要,请使用更准确,更清晰的RGB-> YUV转换。请注意,此过程比默认的“快速” RGB-> YUV转换要慢。

-sns int

指定空间噪声整形的幅度。空间噪声整形(或简称为sns)是指用于确定图片的哪个区域应使用相对较少的位以及在何处更好地传输这些位的内置算法的常规集合。可能的范围是从 0(算法关闭)到100(最大效果)。默认值为 50。

-segments int

更改在sns算法分段期间要使用的分区数。细分范围应在1到之间4。默认值为4。除非-low_memory使用此选项,否则对方法3及更高版本无效。

-partition_limit int

通过限制某些宏块使用的位数来降低质量。范围是0(无降级,默认)到100(完全降级)。有用的值通常在左右30- 70对于中等大小的图像。在VP8格式中,所谓的控制分区的限制为512k,用于存储以下信息:宏块是否被跳过,宏块属于哪个段,编码为内部4x4还是内部16x16模式,以及最后,将预测模式用于每个子块。对于非常大的图像,每个16x16宏块只有512k的空间。每个宏块的绝对最小值为4位。跳过,分段和模式信息几乎会用完所有这4位(尽管情况不太可能),这对于非常大的图像来说是个问题。的 partition_limitfactor控制最昂贵的模式(内部4x4)的使用频率。如果达到512k限制并显示以下消息,这将很有用:错误代码:6(PARTITION0_OVERFLOW:分区#0太大,无法容纳512k)。如果使用 -partition_limit不足以满足512k的限制,则应使用较少的段,以便为每个宏块节省更多的报头位。参见-segments选项。


记录选项

这些选项控制输出级别:

-v

打印更多信息(特别是编码时间)。

-print_psnr

计算并报告平均PSNR(峰值信噪比)。

-print_ssim

计算并报告平均SSIM(结构相似性指标,请参见 http://en.wikipedia.org/wiki/SSIM了解更多详细信息)。

-print_lsim

计算并报告局部相似性度量(并置像素邻居中的最低误差之和)。

-progress

报告编码进度(百分比)。

-quiet

不要打印任何东西。

-short

仅打印简短信息(输出文件大小和PSNR)以进行测试。

-map int

输出编码信息的其他ASCII映射。可能的地图值范围是1到6。这仅是为了帮助调试。
附加选项
更高级的选项是:

-s width height

指定输入文件实际上是按照ITU-R BT.601建议以4:2:0线性格式包含的原始Y’CbCr样本。亮度平面的大小为widthx height。

-pre int

指定一些预处理步骤。使用值2将在RGBA-> YUVA转换(仅有损压缩)期间触发与质量有关的伪随机抖动。

-alpha_filter string

指定Alpha平面的预测过滤方法。其中之一 none,fast或者best,在日益复杂和缓慢秩序。默认值为fast。在内部,使用四个可能的预测(无,水平,垂直,渐变)执行alpha过滤。该best 模式将依次尝试每种模式,然后选择尺寸较小的模式。该fast模式将尝试形成先验猜测而不测试所有模式。

-alpha_method int

指定用于Alpha压缩的算法:0或1。算法 0表示无压缩,1使用WebP无损格式进行压缩。默认值为1。

-exact

将RGB值保留在透明区域中。默认为关闭,以帮助压缩。

-blend_alpha int

此选项使用十六进制指定为0xrrggbb的背景色将alpha通道(如果存在)与源混合。之后,将Alpha通道重置为不透明值255。

-noalpha

使用此选项将丢弃Alpha通道。

-hint string

指定有关输入图像类型的提示。可能的值是:photo, picture或graph。

-metadata string

逗号分隔的元数据列表,如果存在,则从输入复制到输出。有效值:all,none,exif,icc,xmp。默认值为 none。

请注意,每种输入格式可能不支持所有组合。

-noasm

禁用所有装配优化。