添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
俊秀的花卷  ·  git ...·  2 年前    · 
酷酷的仙人球  ·  oracle ...·  2 年前    · 

今天小编分享一个关于对 图片进行颜色 转换的内容,让一个物体可以以各种不同的色彩来呈现。比如一个青色的苹果,把它转化成红色。有很多解决方案…
比如:我们可以用绘图工具来p图,今天呢小编主要来介绍下如何用python来简单快速的实现。
我们首先看下图片感受下:
在这里插入图片描述

在介绍如何实现它,我们先了解一些基础知识。

RGB色彩就是常说的三原色,R代表Red(红色),G代表Green(绿色),B代表Blue(蓝色)。自然界中肉眼所能看到的任何色彩都可以由这三种色彩混合叠加而成,因此也称为加色模式。
Alt
上图为一张平面图,不能形象直观的展示,这里小编参考了网络上的立体图:
在这里插入图片描述
原点到白色顶点的中轴线是灰度线,r、g、b三分量相等,强度可以由三分量的向量表示。

用RGB来理解色彩、深浅、明暗变化:

色彩变化: 三个坐标轴RGB最大分量顶点与黄紫青YMC色顶点的连线

深浅变化:RGB顶点和CMY顶点到原点和白色顶点的中轴线的距离

明暗变化:中轴线的点的位置,到原点,就偏暗,到白色顶点就偏亮

这里举个例子方便理解:
(0, 0, 0) 代表 RGB 都是没有的,呈现黑色。
(255, 255, 255) 代表 RGB 都是满的,呈现白色。
(0, 255, 255) 代表 R 无,G 是满的,B 是满的,蓝色和绿色混合呈现出青色。
因此,通过这三个数值的表示,我们就可以实现各种颜色的呈现。

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。
这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。
通过这三个值,我们同样可以表示任意的颜色。
HSV 颜色模型的坐标轴图用一个锥形的坐标来表示:
在这里插入图片描述

RGB 到 HSV 的转换

HSV 和 RGB 的转换介绍,公式总结如下: 在这里插入图片描述
详细的转换表格以及实时转换实现,请参考下面链接:
https://www.rapidtables.com/convert/color/hsv-to-rgb.html

我们可以直接调用Python 中的 colorsys 模块,来实现上述的 转换过程。
实现颜色的转换,需要修改 HSV 中的 H 值,通过不同的 H 值我们就可以将图片转换为不同的色调。
主要有以下过程:
1.获取图像每个像素的 RGB 值;
2.将 RGB 值转化为 HSV 值;
3.修改HSV 色值中的 H;
4.将 HSV 值转回 RGB 值;
5.输出图像。

python实现

首先安装 pillow 模块

pip install pillow

在这里插入图片描述
代码放在jupyter里:

import colorsys
from PIL import Image
# 输入文件
filename = 'C:/Users/MWB_2/Desktop/input.jpg'
# 目标色值
# Hue 为 0 代表红色,120 代表绿色,240 代表蓝色。我们可以自定义 0-355 这 360 个数值,实现不同的色调转换
target_hue = 0
# 读入图片,转化为 RGB 色值
image = Image.open(filename).convert('RGB')
# 将 RGB 色值分离
image.load()
r, g, b = image.split()
result_r, result_g, result_b = [], [], []
# 依次对每个像素点进行处理
for pixel_r, pixel_g, pixel_b in zip(r.getdata(), g.getdata(), b.getdata()):
    # 转为 HSV 色值
    h, s, v = colorsys.rgb_to_hsv(pixel_r / 255., pixel_b / 255., pixel_g / 255.)
    # 转回 RGB 色系
    rgb = colorsys.hsv_to_rgb(target_hue, s, v)
    pixel_r, pixel_g, pixel_b = [int(x * 255.) for x in rgb]
    # 每个像素点结果保存
    result_r.append(pixel_r)
    result_g.append(pixel_g)
    result_b.append(pixel_b)
r.putdata(result_r)
g.putdata(result_g)
b.putdata(result_b)
# 合并图片
image = Image.merge('RGB', (r, g, b))
# 输出图片
image.save('C:/Users/MWB_2/Desktop/output.jpg')

参考:
1.由RGB到HSV颜色空间的理解https://blog.csdn.net/viewcode/article/details/8203728
2.从 RGB 到 HSV 的转换详细介绍
https://blog.csdn.net/hanshanbuleng/article/details/80383813

文章目录导读介绍RGBHSVRGB 到 HSV 的转换思路python实现导读今天小编分享一个关于对图片进行颜色转换的内容,让一个物体可以以各种不同的色彩来呈现。比如一个青色的苹果,把它转化成红色。有很多解决方案…比如:我们可以用绘图工具来p图,今天呢小编主要来介绍下如何用python来简单快速的实现。我们首先看下图片感受下:介绍在介绍如何实现它,我们先了解一些基础知识。RGBR... 开发本软件的主要是为了解决部分程序员在没有UI设计小姐姐的情况下,想批量修改APP的图标和UI的! 还有就是想做马甲包批量引流的,每次皮去重新做图很是麻烦,增加了皮的人力成本和时间成本,使用这个方法就可以快速有效的给马甲包皮,一键更马甲包的UI和主题! 以下是部分的替代码,详细请移步GIT: https://gitee.com/zfj1128/ZFJObsLib_dmg from PIL import Image i = 1 j = 1 img = Image.open("e:/pi
颜色空间指的是组织颜色的特定方式。我们知道,一种颜色可以由 红、绿、蓝 三种颜色组合出来,这里的 红、绿、蓝 三原色就是一种颜色模型。而这种由三原色组织颜色的方法就是一种颜色空间。任何一种颜色,在颜色空间中,都可以通过一个函数表示出来,在 RGB 模型中,函数的参数就是 R、G、B 三原色。 当然,同一种颜色,在不同的颜色空间中,由于侧重点不同,表现出来的色彩是不一样的。通常的图片是采用的 RGB 三原色来表示的,所以,现在,我们的目的就是将同一幅图片转换成用其他颜色空间来表示。
2.代码(转换单张图片) 注:在python中numpy数组存储的每个像素点的RGB顺序其实是BGR,所以代码中像素点代表红色的numpy数组是[0 0 128],而绿色不变仍是[0 128 0] 还要注意nu..
一、利用到的库 利用python改变图片颜色实现主要依靠pillow模块。Python的版本和pillow的版本对应是相对来说最容易使人混乱地方。 版本对应如下: 利用pycharm下载对应pillow库方案如下: 二、使用代码 代码如下(示例): import colorsys from PIL import Image # 输入图片名称如下, filename = '1.tif'#将所需要改变颜色图片和代码放入相同文件夹,文件格式可以是jpg、tif、... # 读入图片,转化为 RGB 色值
分析过程如下: 对于含有 n 个样本值的数字信号序列,根据奈奎斯特采样定律,包含的周期数最大为 n/2,周期数为 0 代表直流分量。所以,当周期数表示为离散的 0,1,2,3…n/2 ,总的数目为 n/2+1个 傅里叶变换之后的结果为复数, 下标为 k 的复数 a+b*j 表示时域信号中周期为 N/k 个取样值的正弦波和余弦波的成分的多少, 其中 a 表示 cos
图片区域颜色小工具 图片区域颜色小工具使用python开发,可用于选取图片相同颜色的区域,可设定选择精度,可自由选择颜色,将区域的颜色进行替。可使用橡皮擦工具,包括圆形和矩形橡皮擦,可选择颜色图片进行擦除操作。便于修饰图片。 工具使用说明 1.打开工具 2.点击选择文件选择要处理的图片 3.设定要替颜色,默认为黑色 弹出颜色选择框,点击需要的颜色 4.设定颜色处理的...
Pillow提供了颜色处理模块ImageColor,该模块支持不同格式的颜色,可以修改RGB颜色,具有一定的参考价值,感兴趣的可以了解一下,编程学习资料点击领取 颜色命名 getrgb()方法 getcolor() 示例——修改证件照背景色 Pillow 提供了颜色处理模块 ImageColor,该模块支持不同格式的颜色,比如 RGB 格式的颜色三元组、十六进制的颜色名称(#ff0000)以及颜色英文单词("red")。同时,它还可以将 CSS(层叠样式表,用来修饰网页)风格的颜色转..
ModuleNotFoundError: No module named 'torch'(anaconda安装好Pytorch却无法在Jupyter notebook使用) ProcLindsay: 折腾了一晚上终于成功了!!真的感谢博主 感谢能让我睡个好觉 医学图像最新相关研究方向、论文下载及其思考---MICCAI2019论文 年糕小豆汤a: 782099943@qq.com 想要19和20的论文合集 谢谢博主~