鱼C论坛

 找回密码
 立即注册
查看: 1187|回复: 8

[已解决]改变图像的颜色

[复制链接]
发表于 2020-5-22 20:30:53 | 显示全部楼层 |阅读模式
20鱼币
第二题求助
最佳答案
2020-5-22 20:30:54
我和你的教材可能是一样的,我这代码照书本抄的...
  1. from PIL import Image
  2. img = Image.open('birdnest.jpg')
  3. r,g,b = img.split() # 获取RGB通道颜色
  4. om = Image.merge('RGB',(b,g,r)) # 改变RGB通道颜色的顺序 实现进行颜色交换
  5. om.save('birdnest_blue.jpg')
复制代码

原图:

原图

原图

改变颜色通道后:

改变通道颜色后

改变通道颜色后

  1. from PIL import Image
  2. img = Image.open('birdnest.jpg')
  3. r,g,b = img.split() # 获取RGB通道颜色
  4. newg = g.point(lambda i:i*0.9)  # 将G通道颜色变为原来的9倍
  5. newb = b.point(lambda i:i<100)  # 选择B 通道低于100的像素点
  6. om = Image.merge(img.mode,(r,newg,newb)) # 合成新的图像
  7. om.save('birdnest_副本.jpg')
复制代码

用lambda函数 和 point 的方法 改变图片后的效果:
birdnest_副本.jpg

2.1.png
2.2.png
2.3.png
2.4.png
internet.jpg

最佳答案

查看完整内容

我和你的教材可能是一样的,我这代码照书本抄的... 原图: 改变颜色通道后: 用lambda函数 和 point 的方法 改变图片后的效果:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-22 20:30:54 | 显示全部楼层    本楼为最佳答案   
我和你的教材可能是一样的,我这代码照书本抄的...
  1. from PIL import Image
  2. img = Image.open('birdnest.jpg')
  3. r,g,b = img.split() # 获取RGB通道颜色
  4. om = Image.merge('RGB',(b,g,r)) # 改变RGB通道颜色的顺序 实现进行颜色交换
  5. om.save('birdnest_blue.jpg')
复制代码

原图:

原图

原图

改变颜色通道后:

改变通道颜色后

改变通道颜色后

  1. from PIL import Image
  2. img = Image.open('birdnest.jpg')
  3. r,g,b = img.split() # 获取RGB通道颜色
  4. newg = g.point(lambda i:i*0.9)  # 将G通道颜色变为原来的9倍
  5. newb = b.point(lambda i:i<100)  # 选择B 通道低于100的像素点
  6. om = Image.merge(img.mode,(r,newg,newb)) # 合成新的图像
  7. om.save('birdnest_副本.jpg')
复制代码

用lambda函数 和 point 的方法 改变图片后的效果:
birdnest_副本.jpg

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-22 20:33:10 | 显示全部楼层
你这到底是问的啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-22 20:38:11 | 显示全部楼层
思考题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-22 20:39:54 | 显示全部楼层
  1. from PIL import Image
  2. r,g,b=Image.open('internet.jpg').split()
  3. nr=g.point(lambda i:i*251/255)
  4. ng=g.point(lambda i:i*199/255)
  5. nb=b.point(lambda i:i*1/255)
  6. nm=Image.merge('RGB',(nr,ng,nb))
  7. nm.save('neo-internet.jpg')
复制代码

这个意思么,,
neo-internet.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-22 20:45:48 | 显示全部楼层

应该是 红 绿 蓝 黄 4个颜色分开写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-22 20:52:50 | 显示全部楼层
李子豪 发表于 2020-5-22 20:45
应该是 红 绿 蓝 黄 4个颜色分开写

老师课件都给你提示这么多了,连我都没动脑子。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-22 20:54:23 | 显示全部楼层
塔利班 发表于 2020-5-22 20:52
老师课件都给你提示这么多了,连我都没动脑子。。

我没学过这不是我老师
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-22 20:55:35 | 显示全部楼层
塔利班 发表于 2020-5-22 20:52
老师课件都给你提示这么多了,连我都没动脑子。。

看看我还有3道题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 08:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表