python改图片颜色_通过python改变图片特定区域的颜色详解
首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数。
开始正文之前,让我们再来膜拜一下19岁的高斯如何用一把圆规和没有刻度的尺子画出正十七边形。
下面我就拿高斯这张肖像画作为示例如何用Python将他帽子的颜色换了。
计算机分析图片不可能像人类的肉眼一样进行观察,再用右脑进行思考,它能识别的只有数字,下面我们从计算机的角度来对图片做一个简单的认知。
机器的认知中任何一个图片都是由很多像素排列组成,每个像素点就是图片组成的最小原子,因此图片可以看作是一个二维数组,包含坐标和颜色。
其中坐标可以继续拆成一个二维数组分别是X轴和Y轴,而颜色用RGB来表示则可拆解为红绿蓝三维数组。
我先用python来几行简单代码把数学王子的照片转化为数组看看到底是什么内容。
看看打印结果的输出,这张图的像素有607行(宽度),474列(高度),也就是287718个像素组成了这张图片。我再用photoshop打开这张图片看看像素大小,完全匹配。
打印像素
核对像素
接下来再来几行代码把整张图片的矩阵打印出来看看,同时用photoshop框选一下高斯帽子的范围,大概是两个矩形的拼接,在此范围内我也挑几个点(帽子,皮肤,背景)打印出来看看。为何是两个矩形? 因为大神的眼珠也是黑色和帽子比较相似,所以绕道划取范围。
选取范围
采样打印
python改图片颜色_通过python改变图片特定区域的颜色详解相关推荐
- python数据集的预处理_关于Pytorch的MNIST数据集的预处理详解
关于Pytorch的MNIST数据集的预处理详解 MNIST的准确率达到99.7% 用于MNIST的卷积神经网络(CNN)的实现,具有各种技术,例如数据增强,丢失,伪随机化等. 操作系统:ubuntu ...
- python 改文件名字_【Python】按要求修改文件名
1.需求描述 在D:\Files下有以下文件,如下图: 要求: 将Logan开头的文件名全部修改为工作文档 其他的文件名称全部添加前缀"工作文档_" 实现后的结果如下: 2.实现代 ...
- python跳舞的线_舞蹈链(Dance Link X)算法详解及python实现
这两天打算做个数独玩玩,查了一下解数独最好的算法叫舞蹈链:Dance Link X 该算法主要是解决精确覆盖问题:比如有个集合X,以及其若干子集的集合Y,要求出一个Y的子集Y*,能够恰好分割X. 举个 ...
- python画spc控制图_实施SPC控制图的八个步骤详解
企业在实行SPC品质管理时,需要对过程控制的关键工序进行监控分析,而这一监控分析工具就是spc控制图,下面盈飞无限给大家主要介绍实施SPC控制图的八个步骤. 图示:实施SPC控制图的八个步骤 什么是S ...
- python平稳性检验_时间序列中单位根平稳性检验adfuller详解 (ADF Test in Python)
在 statsmodels.tsa.stattools.adfuller statsmodels.tsa.stattools.adfuller(x,maxlag = None,regression = ...
- 微信小程序富文本解析点击图片放大_微信小程序解析富文本过程详解
前言 最近公司在开发OTA微信小程序,一些页面的详情内容是HTML富文本格式的的,但是微信小程序不能直接解析HTML,需要将内容中的HTML标签转换成微信小程序所支持的标签. 开始的时候想过自己写方法 ...
- python列表添加元组_【Python爬虫】列表、元组、集合练习
列表: pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. list.append(obj) 在列表末尾添加新的对象 list.count(obj) 统计某个元素在列表 ...
- python计算各类型电影的评分_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析|详解...
原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析|详解 注:图片源于https://movielens.org/ 1. 项目任务 1.1 数据来源 本项目使用Group ...
- python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解
最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...
- python整数池_对Python中小整数对象池和大整数对象池的使用详解
1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提 ...
最新文章
- #pragma指令与#ifndef指令
- 解决 Android : Can't convert value at index 4 to dimension: type=0x1
- Windows Server 2003 R2中的“分布式文件系统”案例应用
- 【Android 插件化】恶意软件判定规则 | 恶意软件的范围定义
- 第二部分:S5PV210_关看门狗_1
- java的知识点32——多线程 并发同步的 性能分析、快乐影院 订票操作
- bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)
- 在Linux和Windows的Docker容器中运行ASP.NET Core
- for循环批量写文件 shell_shell脚本:for循环批量重命名带空格文件名的文件
- Spring Security 3 Ajax登录–访问受保护的资源
- WDM驱动程序介绍(引)
- UGMT buildingEXODUS v4.0 WiN32.rar
- 【Linux】动态防火墙,实现对攻击IP的动态拦截,一定程度上解决云服务器主机经常被境外IP尝试登录,屏蔽指定地区、国家的IP连接
- 1-十八烷基-3-三乙氧基丙基硅烷咪唑溴盐离子液体([ODTIm]Br)修饰Fe3O4磁性纳米颗粒
- C++学习(一六七)qquick的Scroll、Stack和Swipe区别
- 变量的生存期与存储类型
- Testing WLW!!
- Vivo手机实现录音转文字的方法,图文步骤详解,特别简单
- 分享一个简单易用的python并行模块【PP模块】
- 独角兽项目 1 - 替罪羊