替换颜色图中的颜色

2023-12-09

我使用一条简单的线将 256 色索引图像分解为调色板

import numpy as np
from PIL import Image

im = Image.open('')
palette = np.array(im.getpalette(),dtype=np.uint8).reshape((256,3))

#####################
Printed result
[[  1   3   0]
[  2   4   1]
 [ 28   0   4]
 [ 20   2  26]
 [ 24   5  18]
 [ 33   7  22]
 [ 36   7  12]
 [  0  20  18]
 [ 42  15  16]
 [ 43  18  30]

... etc

打印“调色板”将颜色列为 RGB 值,从索引 0 开始列出。索引 0 通常是深色或黑色。在某些引擎中,它用于 alpha、透明度。我想使用常用的透明度颜色,例如洋红色 255 0 255

我想将每个 png 文件放在一个文件夹中并进行批处理(我必须手动将颜色添加到图像中,然后将它们保存为 8 位,以便颜色成为调色板的一部分),然后执行以下操作:

  • 在颜色图中将索引 0 颜色与洋红色交换位置
  • 每个文件的洋红色位置会有所不同,只需找到颜色 255 0 25 并用它替换索引 0 处的颜色,同时也将索引 0 颜色放在洋红色位置
  • do for all .png files in folder with a single run (magenta will be added and images indexed before running the script) enter image description here

This is an image where Magenta isnt first color of image palette Here is how it should be as final result


我想你想要这样的东西:

#!/usr/bin/env python3

import numpy as np
from PIL import Image

# Open image
im = Image.open('image.png')

# Extract palette
palette = np.array(im.getpalette(),dtype=np.uint8).reshape((256,3))

# Look through palette
for index,entry in enumerate(palette): 
    # Swap this entry with entry 0 if this is magenta
    if index>0 and np.all(entry==[255,0,255]): 
        print(f'DEBUG: Swapping entry {index} with entry 0') 
        palette[0], palette[index] = palette[index], palette[0]
        break
else:
    print('ERROR: Did not find magenta entry in palette')

# Replace palette with new one and save    
im.putpalette(palette)
im.save('result.png')

您可能会对其进行编码以在命令行上接受多个文件,如下所示:

for file in sys.argv[1:]:
    ...
    ...

然后你可以运行:

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

替换颜色图中的颜色 的相关文章

  • 如何打印脚本的每一行,因为它仅针对正在运行的顶级脚本运行?

    python 跟踪模块将允许您运行一个脚本 打印每一行代码 因为它在脚本和所有导入的模块中运行 如下所示 python m trace trace myscript py 有没有办法做同样的事情 但是only打印顶级调用 即仅打印以下行my
  • Django 营业时间

    我想添加诊所的营业时间 我已经对此进行了调查在 Django 中实现 开放时间 的任何现有解决方案 https stackoverflow com questions 8128143 any existing solution to imp
  • 使用 pyppeteer 与 asyncio 关联来抓取内容

    我用 python 结合编写了一个脚本pyppeteer随着asyncio从其登陆页面抓取不同帖子的链接 并最终通过跟踪通向其内页的 url 来获取每个帖子的标题 我这里解析的内容不是动态的 但是 我利用了pyppeteer and asy
  • 如何使用 tkinter 使用网格功能显示不同的图像?

    我想使用显示文件夹中的图像grid 但是当我尝试使用以下代码时 我得到了迭代单个图像的输出 My code def messageWindow win Toplevel path C Users HP Desktop dataset for
  • 如何在Python中反转列表的列表? [复制]

    这个问题在这里已经有答案了 我想知道如何反转 python 中的列表列表 例如 原来的 list 1 2 3 4 5 6 7 8 9 输出 new list 7 8 9 4 5 6 1 2 3 现在 我正在尝试这样做 new list re
  • python win32com.client 调整窗口大小

    我正在使用 Python 3 4 1 通过 win32com client 控制 Windows 应用程序 我可以激活它 我可以发送击键 点击等 现在我想知道是否有办法调整窗口大小并将其设置到特定位置 我找不到方法 这里有一些代码片段 所以
  • Python SQLite3 SQL注入漏洞代码

    我知道下面的代码片段由于 format 的原因很容易受到 SQL 注入的攻击 但我不知道为什么 有谁明白为什么这段代码容易受到攻击以及我从哪里开始修复它 我知道这些代码片段使输入字段保持打开状态 以便通过 SQL 注入执行其他恶意命令 但不
  • 按升序对数字字符串列表进行排序

    我创建了一个SQLite https en wikipedia org wiki SQLite数据库有一个存储温度值的表 第一次将温度值按升序写入数据库 然后 我将数据库中的温度值读入列表中 然后将该列表添加到组合框中以选择温度 效果很好
  • 熊猫系列到二维数组

    所以 我使用了来自的答案将二维数组放入 Pandas 系列中 https stackoverflow com questions 38840319 put a 2d array into a pandas series将 2D numpy
  • 如何停止 PythonShell

    如何终止 停止 Node js 中 PythonShell 执行的 Python 脚本的执行 我在交互模式下运行 输出通过 socket io 发送到给定的房间 如果没有更多的客户端连接到这个房间 我想停止 python 脚本的执行 这是我
  • python 硒 按名称查找元素

    查找电子邮件输入的正确代码是什么https accounts google com ServiceLogin html 是
  • 在添加数据之前使用 Python gdata 清除工作表中的行

    我有一个 Google 电子表格 我使用 python 脚本和 gdata 库填充值 如果我多次运行脚本 它会将新行附加到工作表中 我希望脚本在填充之前首先清除行中的所有数据 这样每次运行时我都会有一组新的数据脚本 我尝试过使用 Updat
  • 数据类和属性装饰器

    我一直在阅读 Python 3 7 的数据类 作为命名元组的替代品 我通常在必须将数据分组到结构中时使用它 我想知道数据类是否与属性装饰器兼容 以便为数据类的数据元素定义 getter 和 setter 函数 如果是这样 是否在某处进行了描
  • 我应该在哪里对对象和字段进行 django 验证?

    我正在创建一个 Django 应用程序 它使用 Django Rest Framework 和普通的 django views 作为用户的入口点 我想对模型的独立字段以及整个对象进行验证 例如 字段 根据正则表达式函数输入的车牌是否正确 与
  • model.predict() 返回类而不是概率

    Hello 我是第一次使用 Keras 我训练并保存了一个模型 作为 json 文件及其权重 该模型旨在将图像分为 3 个类别 我的编译方法 model compile loss categorical crossentropy optim
  • 为什么我的 Python 散点图不起作用?

    我使用 pylab 创建了一个非常简单的散点图 pylab scatter engineSize fuelMile pylab show 该程序的其余部分不值得发布 因为正是该行给我带来了问题 当我将 散点 更改为 绘图 时 它会绘制数据图
  • 如何从 Anaconda 更新 Pandas 以及最后是否可以使用 eclipse

    我已经使用以下文档通过 Anaconda 安装了 Python http www kevinsheppard com images 0 09 Python introduction pdf http www kevinsheppard co
  • 无法将 librosa 与 python 3 一起使用

    我已经在 Windows 上的 ubuntu 子系统上使用 pip3 正确安装了 librosa 但是当我尝试执行像这样的简单程序时 import librosa data sr librosa load sound mp3 print d
  • 混合语言源目录布局

    我们正在运行一个使用多种不同语言的大型项目 Java Python PHP SQL 和 Perl 到目前为止 人们一直在自己的私有存储库中工作 但现在我们希望将整个项目合并到一个存储库中 现在的问题是 目录结构应该是什么样的 我们应该为每种
  • nltk 标记化和缩写

    我用 nltk 对文本进行标记 只是将句子输入到 wordpunct tokenizer 中 这会拆分缩写 例如 don t 到 don t 但我想将它们保留为一个单词 我正在改进我的方法 以实现更精确的文本标记化 因此我需要更深入地研究

随机推荐

  • FPDF - 在多单元中写入HTML?

    WriteHTML可以放在Multicell中吗 如何 我检索并显示了数据库中的 HTML 输出 但想将其放置在第二列中 比方说 因此我将其放入 Multicell 中 但没有效果 下面不起作用 pdf gt Multicell 70 3
  • 这个带有逗号的 CSS 选择器到底匹配什么?

    我有一个关于 CSS 选择器的问题 在我的 CSS 文件中 我有以下代码 table legenda th td text align left vertical align top font weight bold color 76818
  • 在 Windows Phone 中打开 PDF 文件

    我正在开发一个适用于 Windows Phone 7 的应用程序 并为其使用 Phonegap 模板 一切看起来都很完美 但现在我无法在浏览器中打开 PDF 文件 我尝试了以下方法 但不起作用 因为 PDF 的 url 超出了 2048 个
  • 在 postgresql 中将日期转换为整数

    我正在尝试将日期 日期类型 转换为 int 这个 int 应该类似于自 1900 年 1 月 1 日以来的天数 如何在 postgresql 中获取它 在 Excel 中 当我将日期与字符串连接时 我会自动获取此信息 示例 2011 11
  • RequireJS:回调函数中的依赖项和参数的数量不同

    我有遗留代码和这样的模块定义 define a b c d function a b c 您可以看到 依赖项比我们在模块中使用的实际参数多 这有什么意义吗 我认为模块 d 是多余的 这仅意味着模块 d 或者更准确地说 调用 d 工厂函数的结
  • 使用 shell_exec 从 PHP 中调用 Python

    我的默认 Web 应用程序基于 PHP 不过 为了简单起见 我构建了一个 python 脚本来进行一些分析 现在我需要 php 来调用 python 代码并检索 python 代码提供的输出 这两个文件位于同一服务器中 但不在同一文件夹中
  • 使用 重定向

    以下行应保存新项目并重定向到另一个页面 到目前为止 它保存正确 但没有重定向 没有错误或警告
  • WP7中如何改变点击时按钮的颜色?

    在WP7中 每当单击按钮时 按钮的背景就会变成白色 表明该按钮被单击 并在释放鼠标按钮时变得正常 但是我想将按钮选择的颜色从白色更改为橙 色 我该如何点呢 你将不得不玩Visual States那个Button控制 以下是默认样式Butto
  • T-SQL JSON:如何在 JSON 数组中搜索值

    我们正在使用 Azure SQL 并有一个名为 Companies 的表 其中一列包含 JSON JSON 字段的结构为 DepartmentLink https company com ContactName John Doe Conta
  • React hooks useEffect 仅在更新时?

    如果我们想限制useEffect要仅在组件安装时运行 我们可以添加第二个参数useEffect with useEffect gt 但我们怎样才能使useEffect仅在组件更新时运行 初始安装除外 如果您希望 useEffect 仅在除初
  • tf.nn.conv2d 在张量流中做什么?

    我正在查看有关张量流的文档tf nn conv2d here 但我无法理解它的作用或它想要实现的目标 它在文档上说 1 将滤波器展平为具有形状的二维矩阵 filter height filter width in channels outp
  • 如何在 VS2008 中将用户控件构建到独立程序集中?

    更具体地说 在 Visual Studio 2008 中执行此操作与 VS2005 不同时 我需要了解哪些信息 我找到了大量关于在 VS2005 中执行此类操作的参考资料 例如 http webproject scottgu com CSh
  • MySQL 准备语句

    我只是想知道是否有一种方法可以在 MySQL 中使用某种形式的准备好的语句 这样我就不必转义所有输入 也不必将所有文件从 MySQL 切换到 MySQLi 我真的不相信转义函数 所以如果有任何可以在常规 MySQL 中工作的替代方法 那就太
  • 分组集合选择按字母顺序排列的轨道

    我终于弄清楚如何使用动态选择菜单本教程 一切正常 但如何按名称组织下拉列表中的城市 下面是我编写的所有代码 如果您需要更多信息 请告诉我 Rails 新手请帮忙 VIEWS div class field div I would like
  • Jquery UI 自动完成 ajax 未填充下拉框

    我需要帮助 我看不出问题出在哪里 当我在 html 文件中设置自动完成源时 它工作正常 当我在 ajax php 中打印相同的源或数据库值并通过 ajax 返回它时 它不起作用 可能是什么问题呢 请帮助 Html
  • 重载运算符delete,或者如何杀死一只猫?

    我正在尝试重载运算符删除 以便我可以向那些不希望使用智能指针的人返回一个普通指针 但又能够控制何时删除对象 我定义了一个由多个灵魂构造的类 Cat 它有一个不执行任何操作的重载运算符删除 以及减少灵魂数量的析构函数 并且还进行了一些吹牛 当
  • 接下来我应该学习什么 DI/IoC 框架? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我已经使用过 Spring 和 Spring NET 相当多了 但我想看看还有什么 谁能推荐一个我可以尝试学习的好的 Java 或 NET 框架 Here是来自善良的 Hanselman
  • AngularJS $interval 应该动态地增加/减少

    我只想使用 interval anyFunction 1000 但 1000 的值也应该是可变的 如果我通过定义变量来更改它 则视图上的间隔不会改变 有人可以发布一个如何更新 interval 的 速度 的示例吗 非常感谢 万一 我的控制器
  • 如何将 Node.js WebSocket 服务器部署到 Amazon Elastic Beanstalk?

    使用 Elastic Beanstalk Web 控制台 我启动了一个新的 Web Server 1 0 环境 预定义配置 Node js 64 位 Amazon Linux 2014 09 v1 0 9 环境类型 负载均衡 自动缩放 并有
  • 替换颜色图中的颜色

    我使用一条简单的线将 256 色索引图像分解为调色板 import numpy as np from PIL import Image im Image open palette np array im getpalette dtype n