问题标签 [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.
compression - 如何压缩亚像素文本位图
最近,我在做有关 Windows clearType 文本压缩的工作;Windows 文本字体使用亚像素渲染技术,使文本字体边缘充满杂色,如下图。
我试过jpeg、zstd、lz4,它们的压缩比不能让我满意,所以有人有经验或想法来压缩这种类型的位图,有损还是无损?
java - 视频解复用器使用 jcodec
我想隐藏视频上的文本(在 java 中)。我从图像创建视频,并获得了视频无损格式。现在,我想从这个视频中获取帧。我该怎么做?。这是我使用的代码:
}
image - 猜测无损和有损压缩方案来编码图片数据(RGGB 或 YCrCb 或 YCgCo)
我试图根据观察数据样本猜测哪种压缩方案正在编码 14 位图片。相同的算法(具有不同的参数)可能用于压缩有损和无损。
以下是 1624x1080 图片的无损版本的标头数据示例。观察:每个 ff01 包含 4 个 ff02 部分。在无损的情况下,每个 ff02 部分都有一个 ff03 部分。压缩数据的前 32 个字节,就在每个 ff03 标头之后显示 b'...' 下面:
它可以是小波(因为 10 个“ff03”子部分用于有损而不是 1 个用于无损)与 Rice 编码(没有像表一样的霍夫曼)?
亲切的问候
劳伦特 (lclevy@free.fr)
java - 无损 JPG 裁剪,不丢失 EXIF,在 Android 上
我在 Android 应用上为 JPG 文件实现了裁剪功能,要求非常严格:
- EXIF 必须保留。
- 裁剪必须是无损的(因此裁剪只能在某些地方进行,没关系)。
- 应用程序的大小非常严格,因此任何需要的库都应该在 300 KB 或更少,最好没有库。
Manipulate an image without delete its EXIF data问题有点相似,但不幸的是第一个解决方案在javax.imageio.ImageIO
Android 上不可用,第二个解决方案使用了一个太大的库,690 KB。
有没有办法做到这一点,最好是使用标准的 Android 类?
opencv - ffmpeg从jpgs到huffyuv视频的无损转换没有按预期工作
我正在尝试从一组jpg
图像创建视频。我希望视频的每一帧都与用于创建它的图像完全相同。为了得到这个结果,我使用以下命令:
但是,如果我检查第一帧是否等于用于创建视频的第一张图像,我会得到一些差异。为了检查这一点,我使用了以下代码:
如果我使用 opencv 执行转换,结果如预期:第一帧和用于创建视频的第一张图像之间没有区别。这是用于从图像生成视频的 python 代码:
我是否错过了一些选项以获得相同的结果ffmpeg
?
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 上可能的少数无损操作之一。
android - 使用 FFMPEG 以毫秒为单位的无损视频修剪
我已经花了几周的时间来测试这里的所有答案,以便在 Android 上使用 FFMPEG 进行无损切割。无论我尝试什么,我总是会失败。在我们正在构建的应用程序中,我们需要精确到毫秒。
我已经尝试了很多命令的变体,其中很多变体超过半秒。这适用于复制和重新编码。有了这个,我在这两个位置之前和之后都尝试了 -ss,但我没有看到任何区别。这些是效果最好的两个命令,但仍然不够接近:
有没有人使用过给出更准确结果的命令甚至其他库?
string - 证明音译方案无损的算法是什么?
假设您要将一组字符转换为另一组字符。不是将集合 A 中的每个字符 1-1 映射到集合 B 中的相应字符,而是稍微复杂一些。想像一个从泰语或韩语等脚本到拉丁语脚本的自然语言音译器。在韩语示例中,您会得到如下内容:
SKATS 与韩文存在 1 对 1 的映射关系。LU
是一个字母,M
另一个,CU
另一个等等。这些字母与韩文字符的发音没有对应关系,这些基本上只是从帽子里挑选出来的。
当您有多个字符代表一个字符时,问题就开始出现了。
比如说你有一个“送气t
”的声音,tʰ
用IPA表示,你也有字母t
and h
,你有英语的th
声音(θ
在 IPA 中)。假设您决定将tʰ
声音表示为th
。好吧,你可以有这个实际的序列:
如果你翻译它会是:
结合它的实际外观是:
现在的问题是如何回到原来的字符序列。我们可以用多种方式解释这一点:
你如何编写一个算法来检查你的映射是否是 1:1 无损的以防止这个问题?我试图把我的头缠上几天,但我没有得到任何地方。
另一个例子是如果你有“单个字母”被转码成“ts”、“s”、“t”、“h”、“th”、“tsh”、“thsh”等。那么你有一个真正的问题.