Perl & Image::Magick,按像素获取颜色值

2023-11-30

我正在使用 Perl 和 Image::Magick 模块来处理一些 JPEG。

我使用 GetPixels 子函数来获取每个像素的 RGB 分量。

e.g.

my @pixels = $img->GetPixels(
    width     => 1,
    height    => 1,
    x         => 0,
    y         => 0,
    map       => 'RGB',
    #normalize => 1
)

print Dumper \@pixels;

$img->Resize(
    width  => 1,
    height => 1,
    filter => 'Lanczos'
);

@pixels = $img->GetPixels(
    width     => 1,
    height    => 1,
    x         => 0,
    y         => 0,
    map       => 'RGB',
    #normalize => 1
);

print Dumper \@pixels;

$img->Write('verify.jpg');

我发现 getPixels 每个通道返回两个字节,例如

$VAR1 = [
          46260,
          45232,
          44975
        ];

$VAR1 = [
          58271,
          58949,
          60330
        ];

在调用Resize之前:(本例中)指定像素的颜色为#b4b0af,返回值为0xB4B4、0xB0B0、0xAFAF。我不明白这是为什么,但我可以使用MOD 256来处理它;

但是在调用 Resize 之后,返回的值与我在输出文件 (verify.jpg) 中找到的实际值没有任何明显的对应关系。

Image::Magick 是否只是超精确(考虑的是 Shorts 而不是字节)?
JPEG 压缩是否可以解释第二个 Dumper 输出与“verify.jpg”内容之间的差异?


阅读所有关于ImageMagick 中的颜色,包括其量子深度:

ImageMagick 可以编译为支持 PixelPacket 类型的 32 或 64 位像素。这是由 QuantumDepth 定义的值控制的。默认值为 64 位像素,可提供最佳精度。

您可能还想了解它是如何工作的色彩还原.

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

Perl & Image::Magick,按像素获取颜色值 的相关文章

  • 如何在 Perl 中获取本周的日期?

    我有以下循环来计算本周的日期并将其打印出来 它有效 但我正在考虑 Perl 中日期 时间可能性的数量 并且想听听您对是否有更好的方法的意见 这是我写的代码 usr bin env perl use warnings use strict u
  • 打包/解包 - 小端 - 64 位 - 问题

    usr bin env perl use warnings use 5 012 my var 1 lt lt 31 say unpack B pack N var 10000000000000000000000000000000 我怎样才能
  • 如何修复 Math::BigInt 调用的 Math::Pari 中的“`as_number' 不是 Pari 函数名称”?

    在 Perl 5 8 5 上 我看到问题中列出的错误 我正在运行这些版本模块 数学 BigInt 1 89 数学 BigInt FastCalc 0 19 数学 BigInt GMP 1 24 数学 BigInt Pari 1 13 数学
  • 如何使用“子例程引用”作为哈希键

    在 Perl 中 我正在学习如何取消引用 子例程引用 但我似乎无法使用子例程引用作为哈希 键 在下面的示例代码中 我可以创建对子例程 subref 的引用 然后取消引用它以运行子例程 subref 我可以使用引用作为哈希 值 然后轻松取消引
  • ImageMagick - 在不知道图像尺寸的情况下计算透视

    如何获得图像的最大宽度和高度 对其进行一些数学计算 然后将其用于透视变形 我有一堆图像想要应用透视扭曲 唯一的问题是 每个图像的大小不同 此代码适用于我知道尺寸 1440 900 的图像 convert test jpg matte vir
  • 无法在 Perl 中找到 DBI.pm 模块

    我使用的是 CentOS 并且已经安装了 Perl 5 20 并且默认情况下存在 Perl 5 10 我正在使用 Perl 5 20 版本来执行 Perl 代码 我尝试使用 DBI 模块并收到此错误 root localhost perl
  • 彩色 var_dump() 和错误

    我怎样才能将样式设置为var dump 功能和PHP错误样式 如下图所示 目前我有下一个观点var dump with pre var dump pre 没有它将全部在一行中 并且只是纯文本的错误 我搜索了一些 PHP 颜色错误 var d
  • perl - 子进程向父进程发送信号

    我编写了以下代码来测试孩子和父母之间的信号传递 理想情况下 当子进程向父进程发出 SIGINT 时 父进程应该在新的迭代中返回并等待用户输入 我在 perl 5 8 中观察到了这一点 但在 perl 5 6 1 我被要求使用 中 父级实际上
  • Perl 脚本的 shebang 行应该使用什么?

    哪一个用作 Perl 脚本的 shebang 行更好或更快 perl perl exe fullpath perl perl exe partialpath perl perl exe 并且 当使用 perl 当它在特定系统上运行时 我如何
  • android 弹出菜单文本颜色(AppCompat)

    我需要更改 popuo 菜单的文本颜色 但我找不到任何方法来执行此操作 我可以更改 popomenu 的背景但不能更改文本 我以这种方式编辑 style xml
  • 如何在 Perl 中使用变量作为模块名称?

    我知道可以在 Perl 中使用变量作为包变量的变量名 我想使用变量的内容作为模块名称 例如 package Foo our names blah1 blah2 1 在另一个文件中 我希望能够将标量的内容设置为 foo 然后访问中的名称数组F
  • 如何创建自定义颜色图并将其用于不同范围的数据?

    假设我有这样的数据 import numpy as np import matplotlib pyplot as plt import matplotlib colors for reproducibility purposes np ra
  • Sphinx 文档包中 LaTeX 输出的自定义颜色

    我试图在使用 Sphinx 文档包和 html 输出时自定义 LaTeX 内联公式的颜色 细节 我有一个名为func rst 其中包括以下行 Let math x 1 be a binary variable 在我用 Sphinx 创建的文
  • 如何匹配与 Perl 中的特定模式不匹配的字符串?

    我知道使用正则表达式很容易匹配除给定字符之外的任何内容 text ab ac ad text s c g Match anything except c text is now c 我不知道如何 排除 字符串而不是字符 我如何 匹配除 ac
  • 热成像调色板

    自热成像早期以来 红外热像仪经常使用独特的调色板 从黑色到蓝色 品红色 橙色 黄色到亮白色 这个调色板通常被称为Iron or Ironbow 这是使用前视红外相机拍摄的图像的典型假彩色可视化 来源 维基百科 术语科特 http commo
  • 如何通过 sudo (或作为另一个用户)打开 Perl 文件句柄写入数据

    我想将数据写入文件 但应使用特定用户的访问权限打开文件句柄 因此 有以下声明 open FH gt filename or die n 将允许以该特定用户的身份写入文件 有没有办法在 Perl 脚本中执行此操作 而无需运行整个脚本sudo
  • 更改 Common Lisp REPL 中文本的颜色

    我想控制 Common Lisp 中显示的文本的颜色 像这样的伪代码 print color red hello blue world 有什么办法可以做到这一点吗 我使用 SBCL 我的 repl 位于 emacs 内 谢谢 您可以使用AN
  • 在 Perl 中如何打印到变量而不是文件?

    如何使用 Perl 打印到变量 我已经在一个程序上工作了一段时间 它记录了它的迭代的以非常详细的方式取得进展 print loghandle some message 但是 我还想有选择地将一些消息打印到不同的文件中 当然 我可以在代码中添
  • Python 中的颜色处理

    对于我的聚类 GUI 我目前对聚类使用随机颜色 因为我事先不知道最终会得到多少个聚类 在 Python 中 这看起来像 import random def randomColor return random random random ra
  • 是否有与 pdl2(或 Devel::REPL)中的 perl 调试器“x”等效的东西?

    我在用pdl2 the PDL http p3rl org PDLshell 也作为我的默认 Perl 交互式 shell 它加载所有不错的插件Devel REPL http search cpan org perldoc Devel 3a

随机推荐

  • 如何在 MATLAB 中隐藏图形的线条,使其不会超出框架

    有什么方法可以隐藏溢出 以便线条不会像附图中那样从框架中突出 plot sin 0 0 1 10 LineWidth 10 您可以设置轴剪裁风格 to rectangle plot sin 0 0 1 10 LineWidth 10 set
  • PHP PDO 无法获取 OUT 参数值

    我刚刚开始将 PHP PDO 与 MySQL 存储过程一起使用 但我对如何从过程调用中获取 OUT 参数有疑问 我查看了许多类似的 stackoverflow 主题 但不幸的是我找不到解决我的问题的方法 详细信息如下 该过程采用 1 个输入
  • Python 字符串搜索,无论字符顺序如何

    我想创建一个应用程序 检查用户输入的单词是否包含来自单独文本文件的单词 单词 例如 输入 teeth 单独文件包含单词 eet 无论其序列如何 它都应该返回 True那些角色 我看了这个线程匹配正则表达式中任意顺序的所有字符这很酷 因为它使
  • 我可以使用 WPF 窗口中的 XamlReader.Load 或 InitializeFromXaml 来进行窗口定义吗?

    我想生成一些将包含在 WPF 应用程序中的库代码 根据情况 图书馆可能会弹出一个窗口 我可以在 XAML 中定义窗口 但我想将 XAML 视为模板 在运行时 在创建窗口以便可以显示它时 我想用运行时定义的值替换 Xaml 模板中的某些标记
  • C 中对 Gotoxy 的未定义引用

    我正在尝试用 C 语言编写一个程序 Windows 中的 code blocks 我添加了下面的头文件 它编译时没有错误 但是当运行代码时 它会抛出一个错误 未定义对 Gotoxy 的引用 找到完整的代码 只要我有 Gotoxy 语句 就会
  • 获取两个字符串中最长的

    有没有一种快速的方法来选择两个字符串中较长的一个 我想避免必须做的事情 if string1 gt string2 do a else if string2 gt string1 do b 字符串有一个方法length您可以使用 if st
  • 如何知道表单来自哪里?

    我想知道 PHP 中是否有一种方法可以告诉您表单提交的位置 而无需使用隐藏字段或类似的内容 用户只需要稍微篡改 html 即可 例如 我试图确定提交的表单是否实际上在我的网站上 或者该表单是否离线保存并以这种方式提交 如果隐藏字段包含 UI
  • 使用 PHP 关联数组查找笛卡尔积

    假设我有一个如下所示的数组 Array arm gt Array 0 gt A 1 gt B 2 gt C gender gt Array 0 gt Female 1 gt Male location gt Array 0 gt Vanco
  • 如何声明方法引用数组?

    我知道如何以这种方式声明其他事物的数组 例如字符串 String strings one two tree or String strings new String one two tree 但是当涉及到方法引用时 我不知道如何避免 创建列
  • 宽度左右边距 100%

    我有一个宽度设置为 100 的 div 我想将左右边距设置为 20px 由于某种原因 只有左侧被推了超过 20 像素 它忽视了权利 这是因为100 吗 去掉宽度 与所有块元素一样 div 会自动扩展以填充可用宽度 当您指定 100 的宽度时
  • 如何按所选列将 google 工作表导出为 CSV

    我有一个 Google 工作表想要导出为 CSV 文件 但工作表中有两列我不想导出 例如图中column 我不想导出列 N 和 P 这是我为导出编写的 Apps 脚本代码 function menu var ui SpreadsheetAp
  • 授权标头中不是有效的键=值对(缺少等号)

    在使用 Postman 的 API 时 我收到此错误 API详细信息 URL https account perf myglobal com v1 users 00uk0khprrME7gZOU0h7 credentials change
  • R 闪亮的 DT 包在选项卡之间构建链接

    在此处找到了在选项卡之间创建链接的解决方案R 闪亮构建选项卡之间的链接真的很好 但它不适用于 DT 包 对我来说 谁能告诉我 与没有 DT 包的解决方案相比 使用 DT 库的示例代码中我做错了什么 library shiny library
  • 如何使用python从公共谷歌表格中获取数据?

    我正在尝试获取以下 google 工作表的不同工作表中存在的 COVID 19 数据 g sheet 可供公众使用 URL 仅返回第一个工作表 我想抓取所有工作表 任何人都可以提供帮助吗 这是谷歌表格链接 https docs google
  • java.lang.ClassFormatError:类文件 javax/persistence/PersistenceException 中非本机或抽象的方法中缺少代码属性

    我是 JavaEE 新手 我使用 glassfish 服务器 3 1 在 NETBEANS 7 2 1 中创建了企业应用程序项目 当我尝试清理和构建时出现以下错误 An annotation processor threw an uncau
  • 尝试从其中检索 EC2 实例 ID 元数据时超时

    我正在启动一个 Windows 10 EC2 实例 并尝试使用以下命令从 CMD 检索它的实例 ID curl http 169 254 169 254 latest meta data instance id 这一直有效 直到昨天 但现在
  • Firebase Firestore .set 正在更新而不是创建(跳过规则)

    我正在使用 Android 客户端创建新文档 Map
  • 在 Swift 中计算多维数组的维数

    假设我有一些函数想要使用多维数组 例如 Tensor 类 填充我的数据结构 class Tensor init a array A 虽然我可以添加shape参数 我更喜欢自动计算数组本身的维度 如果您先验地知道尺寸 那么读出它就很简单 le
  • 提交类型的输入宽度小于文本类型的输入

    我不明白为什么提交类型的输入宽度小于文本类型的输入 你能帮我吗 HTML div class test div
  • Perl & Image::Magick,按像素获取颜色值

    我正在使用 Perl 和 Image Magick 模块来处理一些 JPEG 我使用 GetPixels 子函数来获取每个像素的 RGB 分量 e g my pixels img gt GetPixels width gt 1 height