ImageMagick,Q8 与 Q16 的实际含义是什么?

2024-05-05

在Windows下,我需要在Q8和Q16之间进行选择。我知道 Q8 是每像素 8 位分量(例如 8 位红色、8 位绿色等),而 Q16 是每像素 16 位分量。我还知道 Q16 使用的内存是 Q8 的两倍。因此,我必须慎重选择。

什么是每像素 16 位组件? jpeg 图像是否支持每像素 16 位组件?从智能手机数码相机拍摄的照片会产生每像素 8 位分量还是每像素 16 位分量?

我只需要加载 jpg 图像,裁剪/调整它们的大小并保存。我还需要将图片保存为 2 种不同的变体:一种包含 icc 颜色配置文件管理,另一种不包含任何 icc 配置文件 (sRGB)


什么是每像素 16 位组件?

每个“通道”(例如红、绿、蓝)的值可以在 0x0000(无颜色)和 0xFFFF(全色)之间。这允许更大的颜色深度和更精确的计算。

例如。显示量子深度为 8 的“红色”像素...

$ convert -size 1x1 xc:red -depth 8 rgb:- | hexdump 
0000000 ff 00 00                                       
0000003

量子深度达到 16 时也是如此...

$ convert -size 1x1 xc:red -depth 16 rgb:- | hexdump 
0000000 ff ff 00 00 00 00                              
0000006

Q32 呢?你猜到了。

$ convert -size 1x1 xc:red -depth 32 rgb:- | hexdump 
0000000 ff ff ff ff 00 00 00 00 00 00 00 00            
000000c

总而言之,分配更多内存来表示颜色值。 HDRI 成像会变得更加复杂一些。

jpeg 图像是否支持每像素 16 位组件?我们从智能手机相机拍摄的图片是每像素 8 位分量还是每像素 16 位分量?

我相信 JPEG 是 8 位的,但我在这里可能是错的。我确实知道大多数摄影师都会保留设备中的所有 RAW 文件becauseJPEG 不支持相机传感器捕获的所有细节。这是一篇带有示例的精彩文章 https://petapixel.com/2017/09/06/8-bit-vs-16-bit-photos-heres-difference/.

我只需要加载 jpg 图像,裁剪/调整它们的大小并保存。我还需要将图片保存为 2 种不同的变体:一种包含 icc 颜色配置文件管理,另一种不包含任何 icc 配置文件 (sRGB)

ImageMagick 被设计为编码器和解码器的“瑞士军刀”(+ 大量功能)。读取文件时,它将格式解码为“验证像素”以进行内部管理。内部存储的默认大小可以在编译时配置,为了方便起见,预构建二进制文件以 Q8、Q16 和 Q32 的形式提供。加上额外的 HDRI 支持。

如果您注重质量,Q16 是一个安全的选择。 Q8将是way更快,但有时会受到限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ImageMagick,Q8 与 Q16 的实际含义是什么? 的相关文章

  • r 管道 image_annotate 无法按预期工作

    我正在尝试使用magick从一堆图像创建一个动画 gif 它工作得很好 但我想在创建 gif 之前为每个图像注释文本 基本上是文件名 但这不起作用 我找不到错误的原因 如下 不确定是管道符号 映射函数还是其他原因 library purrr
  • 无法使用 ruby​​ on Rails 和回形针 gem 上传 zip 文件

    我正在开发 Rails Web 应用程序 刚刚创建并准备了一些模型和东西 该应用程序非常简单 但现在我在设置宝石回形针以向模型添加附件时遇到了问题 几乎一切都工作正常 例如附加图像 jpg 甚至 pdf 但我无法上传 zip 文件 我尝试了
  • 在 docker 容器中安装 imagemagick

    我正在尝试在 Ubuntu 14 04 服务器上使用 ImageMagick 在上传到 s3 之前调整图像大小 我正在 Wercker 创建的 docker 容器内运行所有内容 问题是我已经将它安装在服务器上 并将其安装在 docker 容
  • 使用 imagemagick 中的颜色列表重新映射/分离图像颜色

    假设我有这个图像 我想将颜色数量减少到 3 种 如下所示 为此 我应用了以下命令 convert orange jpg remap palette png orange output png where palette png looks
  • 将 PDF 转换为 PNG Node.JS

    我正在构建一个 Node js 应用程序来将 PDF 转换为 PNG 并显示在用户页面上 该应用程序将像这样工作 用户上传 PDF 到服务器 服务器将 PDF 页面转换为单独的 PNG 在用户页面上显示 PNG 我发现了一个很棒的软件包 名
  • 如何使用Imagick合并和遮罩图像?

    我对图像处理知之甚少 对所使用的术语更是知之甚少 所以请耐心等待 Basically I want to merge two images together where one of them will act as a mask That
  • 如何使用 ImageMagick 查找每英寸像素 (PPI)

    我可以使用以下命令获取 JPEG 图像的 PPI identify format w x h x x y mypic jpg 1600 x 1200 72 PixelsPerInch x 72 PixelsPerInch 但是 当我在 PN
  • Fabric js 或 imagick 从图像中删除白色

    我遇到了这种情况 我很难在谷歌上搜索并解释 我们公司在铝上打印照片 我们为客户提供两种选择 第一个选择是将他们的照片打印在铝上 就像 他们把照片给了我们 所以如果照片有白色 背景 图片以白色背景打印 简单的 像那样 第二个选项是我们可以打印
  • 无法循环文件名中带有空格的文件、Windows 批处理文件和图像 magick

    我正在尝试循环一堆文件夹 创建子文件夹 然后循环文件 使用 imagemagick 转换它们并将它们放入新的子文件夹中并重命名 某些文件名称中包含空格并导致错误 我该如何解决此问题 错误信息 convert unable to open i
  • 将文本转换为服务器上的路径(svg)?

    如何从 TTF 字体创建文本并将其转换为静态 SVG 路径 这样任何人都可以在 illustrator 中打开它并看到这个词 作为 SVG 我们的服务器是Debain 我们主要使用PHP进行后端编码 很高兴使用 Imagemagick 或
  • 在 OS X 下将 ImageMagick 编译为 64 位?

    我正在尝试安装moddims http code google com p moddims 在 OS X 上 请参阅上一个问题 https stackoverflow com questions 1185106 how do i confi
  • 如何使用 imagemagick 从命令行将灰度 png 图像转换为 RGB

    我正在尝试使用以下命令将 png 灰度图像转换为 RGB png 图像 convert HopeLoveJoy png size 1x1 fill rgba 0 1 2 0 draw color 511 511 point out test
  • ImageMagick 将白色变为透明背景,同时保持白色对象

    我正在使用 PHP图像魔术师 http php net manual en book imagick php将图像的白色背景变为透明 我将图像 URL 传递给这个 PHP 脚本 它返回图像
  • 错误:通过 Homebrew 安装 ImageMagick 时未定义方法 `=~'

    当我尝试通过 Homebrew 安装 ImageMagick 时 我得到了一个非常奇怪的答案 它给了我这个 Holger Sindbaeks MacBook Air showwwdown 0 3 holgersindbaek brew in
  • 从 PNG 图像中提取元数据

    我正在尝试从 PNG 图像格式中提取元数据 我正在使用这个库 http code google com p metadata extractor http code google com p metadata extractor 尽管它声称
  • 将 pdf 图像转换为 jpg 图像的最快方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在尝试将多个 pdf 10k 转换为 jpg 图像并从中提取文本 我目前正在使用pdf2imagepython 库 但它相当慢 有没有比这更
  • 使用 ImageMagick 进行 SVG 转换无法正确应用翻译

    我使用的是 Mac OS X 10 5 的 Mac 我正在尝试使用 ImageMagick 来转换SVG http en wikipedia org wiki Scalable Vector Graphics文件到一个PNG http en
  • 黑白 PNG 转 SVG

    我有一个河流 土地掩码来区分土地与河流 湖泊 该文件的大小为 W 43 200x H 21 600 由于 RAM 立即填满 因此无法打开该文件 我已将文件分成 3600 3600 块 它们可以正常打开 然而 我试图在谷歌地图中绘制陆地上的文
  • ImageMagick 更改图像宽度和高度

    我正在使用 ImageMagick 通过使用下面的命令行选项来调整图像分辨率 convert abc png set units PixelsPerInch density 75 abc a png 我需要这个 如果任何图像的宽度超过 30
  • 使用 ImageMagick 和/或 GhostScript 将多页 PDF 转换为多个 JPG

    我正在尝试将多页 PDF 文件转换为一堆 JPEG PDF 中的每一页一个 我花了几个小时寻找如何做到这一点 最终我发现我需要安装 Ghostscript 所以我就这么做了 来自这个网站 http downloads ghostscript

随机推荐

  • 如何使用 Material UI 制作一个圆形复选框?

    我尝试匹配的设计要求复选框为圆形 我正在使用 Material UI 和 React 边框半径不起作用 因为实际图标的边框不是可见复选框的边框 我不能只使用像 Font Awesome 这样的东西 因为它需要实际检查和取消检查 Curren
  • C# 中的 DateTime.Parse 抛出异常

    我不知道为什么抛出异常 这是工作代码 DateTime Parse 1 12 2012 12 00 00 AM 这是抛出异常的一个 DateTime Parse 1 13 2012 12 00 00 AM 抛出的异常是 格式异常 包括此消息
  • iPad SplitViewController 具有纵向模式菜单,如设置应用程序

    我想在我的 iPad 应用程序上获得 SplitView 其中左侧菜单处于纵向 例如 iPad 设置 现在 在纵向方向上 我有一个全屏内容视图 并且导航栏上有一个按钮 其中包含一个带有左侧菜单的弹出窗口 这就是你需要的魔法 该方法位于 UI
  • NASM 轮班操作员

    您将如何在寄存器上进行 NASM 中的位移位 我读了手册 它似乎只提到了这些操作员 gt gt lt lt 当我尝试使用它们时 NASM 抱怨移位运算符处理标量值 您能解释什么是标量值并举例说明如何使用 gt gt and lt lt 另外
  • 使用 Android Intent 发送基于 HTML 的电子邮件正文

    我需要使用 android Intent extra 将基于 HTML 的内容发送到电子邮件应用程序 它接受一些标签 例如 br 但它没有显示任何锚链接或 h1 其显示像简单的文本 EDITED I have tried with gmai
  • 如何使用生成器遍历文件系统?

    我正在尝试创建一个实用程序类来遍历目录中的所有文件 包括子目录和子子目录中的文件 我尝试使用发电机 因为发电机很酷 然而 我遇到了困难 def grab files directory for name in os listdir dire
  • Pymacs 助手在 30 秒后未启动

    我见过其他关于此的问题 但没有一个得到真正的回答 而且没有一个是我的问题 我有一个新系统 emacs 23 1 Centos 6 2 我认为 我下载了最新的 pymacs 并安装了它 但是 我得到 error Pymacs helper d
  • 发布到 Firebase 时,单元格会重复多次

    我正在制作一个可以发布消息的应用程序 我将数据存储在 Firebase 中 当我发布新消息时 该特定单元格会重复多次 因此我会看到该帖子 2 3 4 次或更多次 但这只是 Firebase 中的一篇文章 当我刷新屏幕 例如对数据进行排序 时
  • 通过 API Gateway 使用表单数据将图像发布到 Lambda 函数会导致文件无效

    I ve a 用 Go 编写的 Lambda 函数 https github com mhausenblas imgn blob master functions app uploadimg main go应该允许图像文件上传 通过 HTM
  • 仅使用 1 行 C++ 初始化 2d 向量

    我需要能够初始化一个 2D 向量 int同一条线我在其中创建它 更具体地说 我必须创建一个3x2大小 2D 向量并将其所有值设置为 0 仅使用1行代码 有没有一种方法可以在不使用 for 循环和几行代码的情况下完成此操作 尝试这个 std
  • clang-tidy - 忽略第三方标头代码

    我正在为我的项目使用 CMake 并且我想向项目引入 clang tidy 检查 我用于此目的CMAKE CXX CLANG TIDY and clang tidy用于检查设置的文件 我想在 CI 中使用警告作为错误来可靠地检查提交是否引入
  • Swing 是否支持 Windows 7 风格的文件选择器?

    我刚刚添加了一个标准 打开文件 与我正在编写的一个小型桌面应用程序的对话 基于JFileChooserSwing 教程的入口 http download oracle com javase tutorial uiswing componen
  • IOS:使用@property释放变量(非原子,保留)

    带有 property 非原子和保留的变量是否应该显式释放 interface MyScreenViewController UIViewController
  • 循环遍历字符串中的 html 标签并将内部文本添加到数组中

    我有一些 HTML 内容保存为字符串 我想循环遍历该字符串中的每个标题标签并获取其内部文本 let str h1 topic 1 h1 p desc of topic 1 p h1 topic 2 h1 p desc of topic 2
  • Visual Studio 2017 上的简单装配程序

    386 model flat c stack 100h printf PROTO arg1 Ptr Byte data msg1 byte Hello World 0Ah 0 code main proc INVOKE printf ADD
  • 如何允许另一个应用程序访问我的应用程序的数据目录?

    假设我有一个名为 A 的应用程序 其数据目录为 com example test 现在我想制作另一个名为 B 的应用程序来修改 com example test 中的某些内容 当然我知道两者必须共享相同的签名 但我还需要什么 基本上我正在尝
  • Java俄罗斯方块旋转

    我知道这个问题已经被问了很多 但我想知道如何旋转俄罗斯方块 我已经做了一个又长又糟糕的解决方案 大约 170 行代码 但应该有更简单的方法来做到这一点 我的俄罗斯方块由 4 个块组成 它们都知道它们在矩阵中的位置 行和列 Matrix本身是
  • 使用 PyQt4 在 QWidget 上进行 eventFilter

    我有一个 QMainWindow 其中包含DrawingPointsWidget 该小部件随机绘制红点 我通过使用以下命令为 MouseHovering 事件安装事件过滤器 在 QMainWindow 的状态栏中显示鼠标坐标self ins
  • MySQL 连接丢失:系统错误:110

    我正在尝试通过专用服务器上的 localhost 连接到 mySQL 服务器 但我不断收到错误 Lost connection to MySQL server at reading initial communication packet
  • ImageMagick,Q8 与 Q16 的实际含义是什么?

    在Windows下 我需要在Q8和Q16之间进行选择 我知道 Q8 是每像素 8 位分量 例如 8 位红色 8 位绿色等 而 Q16 是每像素 16 位分量 我还知道 Q16 使用的内存是 Q8 的两倍 因此 我必须慎重选择 什么是每像素