问题标签 [24-bit]
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.
c - 如何在 C 中将 RGB565 转换为 HSL 颜色
我是转换图像类型的新手。我想确定屏幕上每个像素的颜色。我可以从帧缓冲区中读取颜色,但它们都是 RGB565。为了跟踪某种颜色,我想将 RGB565 转换为 HSV,以便检查色调。
我已经尝试通过在线转换器将其从 RGB565 转换为 RGB888。例如 RGB565 '08F5' 到 RGB888 '081BAA'。然后从 RGB888 到 HSL '233 91% 35%'。但是,我无法使用 c 代码进行此操作。颜色采用 HEX 格式,每 2 存储在一个寄存器中。我为每种颜色制作了四个字符数组。
有人知道如何将 RGB565 转换为 RGB888,然后在 C 中转换为 HSL?
audio - FFmpeg - 如何设置输出样本大小
尝试为 .dsf(DSD 音频)文件创建一个简单的命令行播放器,并输出到支持高达 24 位 192 kHz 采样率的 alsa 设备。以下命令几乎可以正常工作,并且可以播放曲目。检查下面的粗体文本,dsf 输入文件被转换为 24 位/192 kHz,但输出随后被截断为 16 位 192 kHz(pcm_s16le,即 16 位小端)。
ffmpeg -i '01 - Sweet Georgia Brown.dsf' -f alsa hw:0,0
显示 ffmpeg 横幅和歌曲元数据(标签)后,结果如下,粗体是我的重点:
持续时间:00:05:14.83,开始:0.000000,比特率:9234 kb/s Stream #0:0:音频:flac,192000 Hz,立体声,s32(24 位)
流映射:Stream #0:0 -> #0 :0 (flac (native) -> pcm_s16le (native))
按 [q] 停止,[?] 寻求帮助
输出 #0,alsa,到 'hw:0,0':
由于我可以使用另一个播放器(foobar2000)以全分辨率播放此曲目和许多其他曲目,因此编码器中似乎可能有一个选项,它是 FFmpeg 的一部分:Lavf57.83.100 我在任何 FFmpeg 文档中都找不到有帮助的信息. 尝试在 FFplay 中查找选项,甚至使用其他 FFmpeg 选项进行猜测,例如此示例。
ffmpeg -sample_fmt s24 -i '01 - Sweet Georgia Brown.dsf' -f alsa hw:0,0 ***** 相同的结果。
我被困住了。有什么建议么?
环境:Linux Mint 19.2,64 位,华硕 Xonar STXii 声卡。
curl - 相同的图像 URL 在 Cloudfare 服务器上返回 24 位或 32 位图像?(cURL“内容长度”检查)
这让我很困惑,我似乎无法在任何地方找到任何可以解释这一点的信息。
我有一个包含大约 1,000 个图像 URL 的数据库,并且正在执行 cURL 标头回调
它在其中查找图像 URL 的内容长度 ...
filesizecheck
只需检查我服务器上已下载图像的文件大小。
CURLOPT_NOBODY
设置意味着如果我服务器上的文件大小与来自标头的内容长度匹配,它指示系统不要下载图像主体,并在标头处停止。
我最初的想法是检查图像 URL 中的图像是否发生了变化——如果是,下载并替换图像。如果不是 - 进行标题检查,然后跳过它。
令我惊讶的是,有时完全相同的图像 URL 会返回完全相同图像的 24 位或 32 位。这是我没有预料到的,显然是让我失望filesizecheck
!
以下是图像 url 的标题(如果它暗示任何内容):
现在,这仅在我经历过的一台服务器/主机上。
有没有人遇到过完全相同的图像 URL 返回相同图像的 24 位(示例content-length
值:397570
一个图像)或 32 位图像(content-length
值501502
:),为什么会这样,我能做些什么来解决这个奇怪的问题问题?
当然,如果图像“更改”,这会抛弃整个系统进行标头检查和下载图像——有时它想下载 24 位图像,有时它想下载 32 位图像——似乎完全随机至于何时返回 24 位或 32 位图像。
视觉上 - 图像没有区别。
我必须以某种方式从 24 位和 32 位图像中获取值才能使其正常工作吗?有谁知道为什么静态图像 URL 会返回(看似随机)同一图像的 24 位或 32 位?
建议的前进方向是什么?任何提示或信息将不胜感激!
javascript - 如何将 RGB24 转换为 RGB 网页版?
我有一些 RGB24 格式的颜色,例如:1581613
如何将其转换为 RGB 以供网络使用?如果我理解正确,格式如下RRRGGBB
。
我试图运行的最后一个代码是:
但是我的尝试并没有成功。
python - MATLAB fread 24 位转换为 Python
我正在尝试将一些 MATLAB 代码转换为 Python。
代码从串口读取音频数据:
'out' 然后保存到二进制文件并使用 fread 读回:
正如预期的那样,每个样本三个字节,“d”是“out”长度的三分之一。但是,我无法弄清楚 fread 读取二进制数据的方式。
我有 'out' 作为字节数组,或者可以在 Python 中作为二进制文件打开,并且想在 Python 中进行从 'out' 到 'd' 的转换。我尝试过使用 numpy、struct、wave、wavio、soundfile 的方法,但由于我是编程新手,所以没有取得太大成功。理想情况下,我不想写入临时文件并从中读取,但这不是必需的。
如果有帮助,这里是 3 个示例的示例:
谁能指出我正确的方向?
谢谢
python - 从 numpy.int32 数组的数据字节中有效地删除每 4 个字节
我有一个大numpy.int32
阵列,可能需要 4GB 或更多。它实际上是一个24 位整数数组(在音频应用程序中很常见),但由于numpy.int24
不存在,我使用了int32
.
我想将此数组的数据作为 24 位(即每个数字 3 个字节)输出到文件中。
这行得通(我不久前在某个地方找到了这个“食谱”,但我再也找不到了):
但是当只有几 GB 时,许多
reshape
会使其效率低下x
:它需要大量不需要的 RAM。另一种解决方案是删除每 4 个字节:
它可以工作,但我怀疑如果
x
需要 4 GB 的 RAM,这条线将至少消耗 8 GB 的 RAM,对于两者s
和x
(也许还有x.tostring()
?)
TL;DR:如何通过删除每 4 个字节有效地(不使用两倍于实际数据大小的 RAM)将 int32 数组作为 24 位数组写入磁盘?
注意:这是可能的,因为整数实际上是 24 位的,即每个值的绝对值 < 2^23-1
loops - 将签名的 24 位 little endian 文件解压缩为十进制
我正在尝试遍历一个非常大的有符号 24 位小端二进制文件以转换为十进制
这是我目前正在使用的代码
它给出的结果可以在这里看到 [1]:https ://i.stack.imgur.com/FfWPn.png 它不太正确
它应该显示为方波
有什么建议么?
bit-shift - 将 24 位二进制字符数组转换为双精度(读取二进制波数据)
我正在尝试读取 24 位二进制数据,该数据存储在 2's Complement 的波形文件中。它以小端方式存储。我正在尝试将 3 个字符数组重新解释为 int32_t,然后将其转换为双精度。我已经非常接近了,但它以某种方式无法正常工作。
这是信号图。它应该是一个简单的 440 Hz 正弦音,但它没有居中并且看起来有点可疑: 波形文件的图
c++ - 使用 24 位有符号整数原子
我想使用带有原子的 24 位有符号整数数据类型 lockfree。我试过了,但是编译器给了我这个错误:
boost::atomic 要求 T 是一个可简单复制的类型
显然,我正在使用的数据类型不是可轻易复制的。
integer - stm8 是否有使用 cosmic 编译器的 24 位整数类型?
我在 stm8 单片机中有一个 32 位除法器。不用说,这非常慢。理论上,24 位操作会更快。stm8 是否有使用 cosmic 编译器的 24 位整数类型?如果没有,是否有一个用于 24 位操作的汇编库会更快?