使用 imagemagick 中的颜色列表重新映射/分离图像颜色

2024-03-04

假设我有这个图像:

我想将颜色数量减少到 3 种,如下所示:

为此,我应用了以下命令:

convert orange.jpg -remap palette.png orange_output.png

where palette.png looks like this: enter image description here

有没有办法在不使用调色板图像的情况下执行此转换?理想情况下,我想提供一个颜色列表并让它以这种方式转换图像。


有没有办法在不使用调色板图像的情况下执行此转换?

是的,但这并不像提供调色板那么容易。在非常高的水平上,您可以通过应用来预处理源图像dither http://www.imagemagick.org/script/command-line-options.php?#dither, 掉色 http://www.imagemagick.org/script/command-line-options.php?#colors,甚至可能调整树深度 http://www.imagemagick.org/script/command-line-options.php?#treedepth。之后就是简单的更换颜色的操作了。

convert source.jpg -colors 3 -treedepth 3 -dither FloydSteinberg +remap out.png

省略- 绘制颜色 http://www.imagemagick.org/script/command-line-options.php#draw替换示例

但我想你真的想要一个简单的单线。幸运的是,重新映射接受文本:格式和管道

convert -size 1x1 xc:green xc:orange xc:blue -append txt:- | \
        convert source.jpg -remap txt:- out.png

文本格式非常简单,可以使用任何脚本语言动态创建和存储。

# ImageMagick pixel enumeration: 1,3,65535,srgb
0,0: (0%,50.1961%,0%)  #000080800000  green
0,1: (100%,64.7059%,0%)  #FFFFA5A50000  orange
0,2: (0%,0%,100%)  #00000000FFFF  blue

您可能可以将其减少到...

# ImageMagick pixel enumeration: 1,3,255,rgb
0,0: #008000  green
0,1: #FFA500  orange
0,2: #0000FF  blue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 imagemagick 中的颜色列表重新映射/分离图像颜色 的相关文章

  • 在 Swift 中将 gif 保存到 iOS 照片库

    我正在尝试保存位于已使用 Regift 代码创建的临时文件中的 GIF 图像 Regift https github com matthewpalmer Regift https github com matthewpalmer Regif
  • 如何使用 jquery imgAreaSelect 用 php 裁剪图像?

    我正在使用以下 javascript 代码来实例化 jquery图像区域选择 http odyniec net projects imgareaselect 裁剪我的图像 document ready function ladybug im
  • 在Android内存中存储gif图像

    我对安卓还很陌生 我想将图像保存到内存中 然后从内存中检索图像并将其加载到图像视图中 我已使用以下代码成功将图像存储在内存中 void saveImage String fileName img cnt jpg File file new
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • 鼠标悬停时放大图像而不使用 Jquery 推送其他图像?

    当您将鼠标悬停在图像缩略图上 例如 Google 图片正在使用的缩略图 时 我正在尝试创建图像放大效果 但是 我遇到了一个问题 即放大的图像根据放大的图像的位置不断将另一张图像推到另一个位置 这是我到目前为止所拥有的
  • createImage(int width, int height) 的问题

    我有以下代码 作为游戏的一部分每 10 毫秒运行一次 private void gameRender if dbImage null createImage returns null if GraphicsEnvironment isHea
  • Java .drawImage:如何“取消绘制”或删除图像?

    我需要在程序运行时不断在不同位置重绘某个图像 因此 我设置了一个 while 循环 该循环应该在屏幕上移动图像 但它只是一遍又一遍地重新绘制图像 我究竟做错了什么 有没有办法在将旧图像绘制到新位置之前删除旧图像 JFrame frame b
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 使用 ruby​​ 调整动画 GIF 图像的大小?

    我正在尝试将 GIF 图像调整为不同的尺寸 我在 ruby 中使用 RMagick 库 但对于某些 gif 图像 即使我缩小 GIF 的大小 文件大小似乎也会增加 我正在以相同的纵横比调整图像图像的大小 这是我的代码 require rma
  • 加载位图图像至特定尺寸

    我正在尝试使用 allegro 将位图加载到特定大小 al crate bitmap x y 创建特定大小的位图 al load bitmap filename 加载我需要的图像 但为其原始大小 我需要将位图加载到我设置的大小 有任何想法吗
  • 使用base64编码图像的优点和缺点[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在考虑为我正在开发的网站使用 Base64 编码图像来优化加载时间 不管怎样 在开始之前 我想知道 这样做的优点和缺点是什么 目前 我没有看
  • 在哪里可以获取 MAMP 上 ImageMagick 的 libfreetype.6.dylib 版本 16.0.0

    在 MAMP 下运行 imagemagick 时 出现错误消息 command output dyld Library not loaded opt local lib libfreetype 6 dylib Referenced from
  • 使用 mongoose 通过 React 应用程序将图像上传到 mongodb 数据库

    我正在为找到的对象创建一个反应应用程序 我想允许用户上传这些对象的照片 我尝试使用 axios 通过 post 请求将图像发送到猫鼬服务器 但它不起作用 这就是我如何将图像存储在带有预览的 React 组件中 handleImage eve
  • 使用 PHP 中的 GD 库在图像上绘图

    我创建了一个代码来生成随机图案图像 它创建一个具有给定宽度和高度的图像 并用 40x40 像素的小矩形填充它 这是我的代码
  • 将签名位图转换为签名字符串(很奇怪的一个)

    基本上我需要将位图图像转换为字符串 但这不是常见的 困境在于该字符串由两部分组成 1 积分 2 线路 我需要将图像转换为由 分隔的两个部分 我得到的一个例子是 221A 221A270A270A25032503200720071716171
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • 在Python中调整图像大小

    我有一张尺寸为 288 352 的图像 我想将其大小调整为 160 240 我尝试了以下代码 im imread abc png img im resize 160 240 Image ANTIALIAS 但它给出了一个错误TypeErro
  • 如何以编程方式将多个 JPEG 合并为无损 wav 中的更大 JPEG (.net)

    我有几张 JPEG 图像 我想将它们组合成一张大 JPEG 图像 我可以通过创建一个来做到这一点Bitmap然后将它们组合在一起 但这样如果我再次将其保存为 JPEG 图像将会恶化 那么 有没有什么方法可以在解码 编码时在不损失质量的情况下
  • HTMLImageElement 作为 React Child 无效

    我正在尝试异步加载图像 并且仅在加载图像后才将其显示在 React 应用程序中 componentDidMount const img new Image img onload gt this setState originalImage
  • iOS 11 浏览器图像错误

    在 iOS 11 中滚动页面时出现以下错误 在 Firefox Safari 和 Chrome 中 在 Android 设备中 不会发生该错误 这些是背景图像 我不知道这是否是导致错误的原因 图 2 显示了图像在 Android 中的用途和

随机推荐

  • 如何存储然后检索父子依赖性数据(Maya MEL/Python 脚本)

    我有一个需要的层次结构 分开 做一点事 按照以前的方式将其重新组装起来 我确实知道如何打破事物 并且对当层次结构扁平时我需要做什么有计划 问题是我如何养育他们 Details 这与我之前的问题有关 冻结带有动画子对象的父对象的缩放变换 MA
  • 在 Android 帐户管理器中存储其他数据

    我想使用安卓AccountManager但是 要同步我的网络服务和应用程序 联系人和日历的标准同步 AccountManager似乎只存储用户名和密码 我的 Web 服务需要三个凭据 用户名 密码和帐户 存储第三条信息的最佳实践是什么 正如
  • JPA - 事务未提交

    我正在开发一个项目 在该项目中我第一次使用 JPA Hibernate 和所有这些东西 但我遇到了事务未提交的问题 我使用类 User 如下所示 package org tomasherman JBTBackup Resource Enti
  • 通过正则表达式限制文本中的行数

    在任何编程语言中 我都知道如何有效地限制给定文件或字符串中的行数 这不是这里的问题 然而在这种情况下 我希望通过正则表达式来做到这一点 在这个模式中我只使用 n 换行符 我不需要其他人 例如 r 回车 n n 0 3 上面的正则表达式解释如
  • 通过 ByteBuffer 和 CQL 3 将 Java 对象序列化到 Cassandra 1.2

    我拼凑了下面的代码 它没有做任何复杂的事情 只是创建一个 byte 变量 将其写入 Cassandra 中的 blob 字段 v1 2 通过新的 Datastax CQL 库 然后将其读回又出来了 当我把它放进去时 它是 3 个元素长 当我
  • @AspectJ 类级别注释建议,以注释作为方法参数

    如何获取注释作为定义的建议的参数传递 类级注释 是否可以 来自帖子here https stackoverflow com questions 2011089 aspectj pointcut for all methods of a cl
  • 如何将 COM 对象包装在本机 .NET 类中?

    我在 NET C 中使用广泛的现有 COM API 可能是 Outlook 但事实并非如此 我通过在 Visual Studio 中添加 COM 引用 来完成此操作 因此所有 魔法 都是在幕后完成的 即 我不必手动运行tlbimp 虽然现在
  • 是否可以在不重新加载页面的情况下检查用户是否在 php 中启用了 cookie?

    例如 即使实际设置了 cookie 下面的代码似乎也不起作用 直到我刷新页面 setcookie cookies 1 time 86400 if isset COOKIE cookies cookies foobar 我试图在我的网站上编写
  • 用户关闭应用程序后,如何恢复上次查看的活动?

    用户关闭应用程序后 我如何恢复上次查看的活动 就像 如果用户打开应用程序 第一个活动将出现 当用户单击按钮时 它将继续到下一个活动 如果他关闭应用程序并再次打开 它仍然会显示上次查看的活动 我该怎么做 请帮我 谢谢你 我认为你应该使用共享首
  • 在 iOS 上使用 PhoneGap/Cordova 和外部 URL

    我希望我的phonegap cordova 应用程序加载外部页面 而不加载任何本地页面 现在我这样做了 但是我的插件 javascript 不起作用 因为它们是从本地index html调用的 在这种情况下我该怎么办 我应该将插件放在外部
  • JPA EntityManager:merge() 正在尝试在数据库中创建新行 - 为什么?

    我通过 Play Framework 使用 JPA 我正在检查 User 对象是否被缓存 如果是 我检索它并 merge 它 以便我可以更新字段并稍后保存更改 user User Cache get user auth sessionAut
  • Intellisense 无法识别 python 3 的类型提示

    我想使用 Visual Studio 并使用类型提示 例如在函数参数列表中 查看智能感知 以确定变量的类型 这可以通过以下方式实现isinstance param type 声明 但我想知道我们是否可以在没有这些附加声明的情况下让它工作 注
  • 阻止 Ninject 自动绑定 Func

    我有一个优先级队列 它采用函数作为构造函数参数 public PriorityQueue ISomeOtherInjectedThing other Func
  • Camel是否为每条路线创建一个线程

    最近我开始使用camel 我发现它有可能满足我的许多集成层需求 我创建了一个 java 客户端应用程序 不在任何容器中运行 其中定义了两条路由 路线 1 将文件从传入文件夹 1 移动到文件夹 2 路线2 将文件内容从folderx移动到mq
  • 如何使用多项 Logit 模型的标准误差获得平均边际效应 (AME)?

    我想要获得具有标准误差的多项 Logit 模型的平均边际效应 AME 为此我尝试了不同的方法 但到目前为止还没有达到目标 最好的尝试 我最好的尝试是使用手动获取 AMEmlogit我在下面展示了这一点 library mlogit ml d
  • 如何在swift 4中的webview中显示大量数据

    在我的一个应用程序中 我必须在 Web 视图中显示来自 Web 服务响应的 html 内容 如果html数据较小 那么它将显示在webview中 但是 当 html 内容非常重时 在 Web 视图应用程序中显示的时间就会很长 我做了一件事只
  • 将 Decodable 与继承一起使用会引发异常

    我正在使用 Rest API 服务 其中响应分为基本响应 所有其他响应都继承自它 我正在尝试使用解码器接口为我的响应模型类构建相同的结构 但是我在继承类的解码方面遇到问题 我试图关注这个问题 在 Swift 4 中使用 Decodable
  • 通过 Android API 配置 Exchange 电子邮件帐户

    我想编写一个应用程序 给定用户名和密码 它将 除其他外 在设备上配置交换电子邮件电子邮件帐户 可以通过Android API 来实现吗 如果是这样 通过什么班级 在 3 0 之前的版本中 有一种通过额外传递用户名和密码来配置交换电子邮件的方
  • sklearn 中的 2D KDE 带宽与 scipy 中的带宽之间的关系

    我正在尝试比较性能sklearn neighbors KernelDensity http scikit learn org stable modules generated sklearn neighbors KernelDensity
  • 使用 imagemagick 中的颜色列表重新映射/分离图像颜色

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