问题标签 [lossless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
104 浏览

compression - 如何压缩亚像素文本位图

最近,我在做有关 Windows clearType 文本压缩的工作;Windows 文本字体使用亚像素渲染技术,使文本字体边缘充满杂色,如下图。

在此处输入图像描述

我试过jpeg、zstd、lz4,它们的压缩比不能让我满意,所以有人有经验或想法来压缩这种类型的位图,有损还是无损?

0 投票
0 回答
256 浏览

java - 视频解复用器使用 jcodec

我想隐藏视频上的文本(在 java 中)。我从图像创建视频,并获得了视频无损格式。现在,我想从这个视频中获取帧。我该怎么做?。这是我使用的代码:

}

0 投票
0 回答
46 浏览

ffmpeg - ffmpeg 需要完美的像素来处理 LED (h264, mpeg 1, 2)

在此处输入图像描述
我们有带有动画编解码器的 .mov,像素看起来很棒。但是 LED 媒体播放器正在寻找 h264、mpeg-1 或 mpeg2。这甚至有可能获得高像素精度吗?我阅读了很多评论并尝试了h264无损无济于事。谢谢你的帮助!

0 投票
0 回答
46 浏览

image - 猜测无损和有损压缩方案来编码图片数据(RGGB 或 YCrCb 或 YCgCo)

我试图根据观察数据样本猜测哪种压缩方案正在编码 14 位图片。相同的算法(具有不同的参数)可能用于压缩有损和无损。

以下是 1624x1080 图片的无损版本的标头数据示例。观察:每个 ff01 包含 4 个 ff02 部分。在无损的情况下,每个 ff02 部分都有一个 ff03 部分。压缩数据的前 32 个字节,就在每个 ff03 标头之后显示 b'...' 下面:

它可以是小波(因为 10 个“ff03”子部分用于有损而不是 1 个用于无损)与 Rice 编码(没有像表一样的霍夫曼)?

亲切的问候

劳伦特 (lclevy@free.fr)

0 投票
1 回答
226 浏览

java - 无损 JPG 裁剪,不丢失 EXIF,在 Android 上

我在 Android 应用上为 JPG 文件实现了裁剪功能,要求非常严格:

  • EXIF 必须保留。
  • 裁剪必须是无损的(因此裁剪只能在某些地方进行,没关系)。
  • 应用程序的大小非常严格,因此任何需要的库都应该在 300 KB 或更少,最好没有库。

Manipulate an image without delete its EXIF data问题有点相似,但不幸的是第一个解决方案在javax.imageio.ImageIOAndroid 上不可用,第二个解决方案使用了一个太大的库,690 KB。

有没有办法做到这一点,最好是使用标准的 Android 类?

0 投票
0 回答
73 浏览

opencv - ffmpeg从jpgs到huffyuv视频的无损转换没有按预期工作

我正在尝试从一组jpg图像创建视频。我希望视频的每一帧都与用于创建它的图像完全相同。为了得到这个结果,我使用以下命令:

但是,如果我检查第一帧是否等于用于创建视频的第一张图像,我会得到一些差异。为了检查这一点,我使用了以下代码:

如果我使用 opencv 执行转换,结果如预期:第一帧和用于创建视频的第一张图像之间没有区别。这是用于从图像生成视频的 python 代码:

我是否错过了一些选项以获得相同的结果ffmpeg

0 投票
0 回答
401 浏览

javascript - 如何在nodejs中无损裁剪JPEG图像?

拿两个。

在我的 nodejs 应用程序中,我需要提取 JPEG 图像的矩形部分。我有坐标(x、y、宽度、高度),我只需要裁剪。

有许多库可以做到这一点(sharp、jimp、lwip 等),但它们都遵循 decompress-modify-recompress 模式。

由于这是一个服务器应用程序,我可能需要为每秒多张图片执行此操作,因此我希望使其尽可能高性能。

幸运的是,我不需要精确的裁剪。如果结果大几个像素也没问题。因此,我可以在正确对齐的坐标上使用无损 JPEG 提取1 。它既可以节省 CPU 周期、内存,又可以避免任何潜在的质量损失。

我知道这是可以做到的,因为已经有工具可以做到这一点——我找不到用 Javascript 编写的工具。我还想避免使用 CLI 工具,因为我怀疑写入磁盘/调用工具/收集结果的开销将远远大于使用可用库在内存中进行重新压缩舞蹈(但是,如果您对此有争论方法,我也会接受它作为答案)。

那么-如何在Javascript(node.js,服务器端)中无损裁剪JPEG图像(在正确对齐的坐标上)?输出当然是另一个 JPEG 图像。

1请注意,在这种情况下,“无损”并不意味着“无损 JPEG”。它的意思是“无损裁剪”,即提取 JPEG 的一部分而不对其进行解压缩/重新压缩。这是 JPEG 上可能的少数无损操作之一

0 投票
1 回答
2880 浏览

android - 使用 FFMPEG 以毫秒为单位的无损视频修剪

我已经花了几周的时间来测试这里的所有答案,以便在 Android 上使用 FFMPEG 进行无损切割。无论我尝试什么,我总是会失败。在我们正在构建的应用程序中,我们需要精确到毫秒。

我已经尝试了很多命令的变体,其中很多变体超过半秒。这适用于复制和重新编码。有了这个,我在这两个位置之前和之后都尝试了 -ss,但我没有看到任何区别。这些是效果最好的两个命令,但仍然不够接近:

有没有人使用过给出更准确结果的命令甚至其他库?

0 投票
0 回答
75 浏览

string - 证明音译方案无损的算法是什么?

假设您要将一组字符转换为另一组字符。不是将集合 A 中的每个字符 1-1 映射到集合 B 中的相应字符,而是稍微复杂一些。想像一个从泰语韩语等脚本到拉丁语脚本的自然语言音译器。在韩语示例中,您会得到如下内容:

SKATS 与韩文存在 1 对 1 的映射关系。LU是一个字母,M另一个,CU另一个等等。这些字母与韩文字符的发音没有对应关系,这些基本上只是从帽子里挑选出来的。

当您有多个字符代表一个字符时,问题就开始出现了。

比如说你有一个“送气t”的声音,IPA表示,你也有字母tand h,你有英语的th声音(θ在 IPA 中)。假设您决定将声音表示为th。好吧,你可以有这个实际的序列:

如果你翻译它会是:

结合它的实际外观是:

现在的问题是如何回到原来的字符序列。我们可以用多种方式解释这一点:

你如何编写一个算法来检查你的映射是否是 1:1 无损的以防止这个问题?我试图把我的头缠上几天,但我没有得到任何地方。

另一个例子是如果你有“单个字母”被转码成“ts”、“s”、“t”、“h”、“th”、“tsh”、“thsh”等。那么你有一个真正的问题.

0 投票
1 回答
475 浏览

colors - 无损 sRGB <-> Lab 转换?

当我黑色 ( rgb(0,0,0)) 转换为LAB并再次返回时,它显示为19, 0, 10.

是否有修改后的公式可以扩展 Lab 颜色空间以进行 1:1 转换?如果没有,是否有任何其他色彩空间保持“这些值中相同数量的数值变化对应于大致相同数量的视觉感知变化”的属性?

我想在一些图像上运行 k-means 聚类,它在实验室空间中效果更好。