前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python图像处理-像素操作换背景(上)

python图像处理-像素操作换背景(上)

作者头像
叶子陪你玩
发布2020-03-12 15:33:10
1K0
发布2020-03-12 15:33:10
举报
文章被收录于专栏:叶子陪你玩编程
前言

本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。

背景

以前玩乐高的时候,发现大颗粒里面有很多人仔,想着把它们拍下来当素材,但是又没有专业的设备,只能用手机拍摄,但是手机拍摄发现会留下阴影,后来想着用python尝试着处理了一下,把背景变成了白色的了,总体看上去还不错。

之所以可以处理阴影,是因为前景人物和背景白色区别比较明显,经过这次尝试后,发现既然可以处理这样的纯背景的,那给他换一个背景应该也是可以的,下面就是我的尝试过程。

知识准备

进行图片处理之前,我们首先得对图片的色彩模式有个了解,这里暂时介绍RGBA和RGB两种模式,RGB是(red,green,blue)三种颜色的首字母组合一起的,RGBA是在三种颜色之上在加了一个透明通道(Alpha)。

画画的时候,通过调整不同颜料的比例,就可以得到不同的颜色;图片的色彩也是同样的原理,RGB颜色模式的图片可以理解为由红色,绿色,蓝色三种颜色混合而成。

RGBA除了颜色混合之外,还具有了透明的功能,比如半透明你就能看到当前内容的下面的内容了。

获取图片颜色模式和像素值

打开本地的yezi.jpg图片,通过mode属性可以获取到图片的颜色模式,使用convert方法可以对其进行颜色模式的转换。

通过img.size获取图片大小,宽959,高959个像素,这里的像素你可以理解成1个小格子,整张图片你可以看成宽和高为959*959的大网格。通过getpixel方法可以获取图片上某点的像素,也就是网格像素。结果可以看出RGB格式的img图片是三个255这个其实就是个白点,img2是RGBA模式,后面的255表示完全不透明。

具体理解可以看下面的图片。

找到一个调色板,可以看见右下角通过不同的颜色组合是可以实现不同的效果的,三个 0 是黑色,3个255是白色。

更改图片的像素值

通过使用putpixel方法将原来100,100位置的白色像素点设置为黑色的了,通过打印和查看图片效果可以知道。

画一条黑线

这里通过循环的方式将一小片区域的像素都更改了,所以看上去就会有一条黑线了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 叶子陪你玩编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 知识准备
  • 获取图片颜色模式和像素值
  • 更改图片的像素值
  • 画一条黑线
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档