首先让我祭出一张数学王子高斯的照片,这位印在德国马克上的神人有多牛呢? 他是近代数学的奠基人之一,与牛顿, 阿基米德并称顶级三大数学家,随便找一个编程语言的数学库,里面一定有和他名字相关的一堆函数。

开始正文之前,让我们再来膜拜一下19岁的高斯如何用一把圆规和没有刻度的尺子画出正十七边形。

下面我就拿高斯这张肖像画作为示例如何用Python将他帽子的颜色换了。

计算机分析图片不可能像人类的肉眼一样进行观察,再用右脑进行思考,它能识别的只有数字,下面我们从计算机的角度来对图片做一个简单的认知。

机器的认知中任何一个图片都是由很多像素排列组成,每个像素点就是图片组成的最小原子,因此图片可以看作是一个二维数组,包含坐标和颜色。

其中坐标可以继续拆成一个二维数组分别是X轴和Y轴,而颜色用RGB来表示则可拆解为红绿蓝三维数组。

我先用python来几行简单代码把数学王子的照片转化为数组看看到底是什么内容。

看看打印结果的输出,这张图的像素有607行(宽度),474列(高度),也就是287718个像素组成了这张图片。我再用photoshop打开这张图片看看像素大小,完全匹配。

打印像素

核对像素

接下来再来几行代码把整张图片的矩阵打印出来看看,同时用photoshop框选一下高斯帽子的范围,大概是两个矩形的拼接,在此范围内我也挑几个点(帽子,皮肤,背景)打印出来看看。为何是两个矩形? 因为大神的眼珠也是黑色和帽子比较相似,所以绕道划取范围。

选取范围

采样打印

python改图片颜色_通过python改变图片特定区域的颜色详解相关推荐

  1. python数据集的预处理_关于Pytorch的MNIST数据集的预处理详解

    关于Pytorch的MNIST数据集的预处理详解 MNIST的准确率达到99.7% 用于MNIST的卷积神经网络(CNN)的实现,具有各种技术,例如数据增强,丢失,伪随机化等. 操作系统:ubuntu ...

  2. python 改文件名字_【Python】按要求修改文件名

    1.需求描述 在D:\Files下有以下文件,如下图: 要求: 将Logan开头的文件名全部修改为工作文档 其他的文件名称全部添加前缀"工作文档_" 实现后的结果如下: 2.实现代 ...

  3. python跳舞的线_舞蹈链(Dance Link X)算法详解及python实现

    这两天打算做个数独玩玩,查了一下解数独最好的算法叫舞蹈链:Dance Link X 该算法主要是解决精确覆盖问题:比如有个集合X,以及其若干子集的集合Y,要求出一个Y的子集Y*,能够恰好分割X. 举个 ...

  4. python画spc控制图_实施SPC控制图的八个步骤详解

    企业在实行SPC品质管理时,需要对过程控制的关键工序进行监控分析,而这一监控分析工具就是spc控制图,下面盈飞无限给大家主要介绍实施SPC控制图的八个步骤. 图示:实施SPC控制图的八个步骤 什么是S ...

  5. python平稳性检验_时间序列中单位根平稳性检验adfuller详解 (ADF Test in Python)

    在 statsmodels.tsa.stattools.adfuller statsmodels.tsa.stattools.adfuller(x,maxlag = None,regression = ...

  6. 微信小程序富文本解析点击图片放大_微信小程序解析富文本过程详解

    前言 最近公司在开发OTA微信小程序,一些页面的详情内容是HTML富文本格式的的,但是微信小程序不能直接解析HTML,需要将内容中的HTML标签转换成微信小程序所支持的标签. 开始的时候想过自己写方法 ...

  7. python列表添加元组_【Python爬虫】列表、元组、集合练习

    列表: pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值. list.append(obj) 在列表末尾添加新的对象 list.count(obj) 统计某个元素在列表 ...

  8. python计算各类型电影的评分_【Python数据科学实战项目】之 基于MovieLens的影评趋势分析|详解...

    原标题:[Python数据科学实战项目]之 基于MovieLens的影评趋势分析|详解 注:图片源于https://movielens.org/ 1. 项目任务 1.1 数据来源 本项目使用Group ...

  9. python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解

    最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...

  10. python整数池_对Python中小整数对象池和大整数对象池的使用详解

    1. 小整数对象池 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间. Python 对小整数的定义是 [-5, 256] 这些整数对象是提 ...

最新文章

  1. #pragma指令与#ifndef指令
  2. 解决 Android : Can't convert value at index 4 to dimension: type=0x1
  3. Windows Server 2003 R2中的“分布式文件系统”案例应用
  4. 【Android 插件化】恶意软件判定规则 | 恶意软件的范围定义
  5. 第二部分:S5PV210_关看门狗_1
  6. java的知识点32——多线程 并发同步的 性能分析、快乐影院  订票操作
  7. bzoj1833: [ZJOI2010]count 数字计数(数位DP+记忆化搜索)
  8. 在Linux和Windows的Docker容器中运行ASP.NET Core
  9. for循环批量写文件 shell_shell脚本:for循环批量重命名带空格文件名的文件
  10. Spring Security 3 Ajax登录–访问受保护的资源
  11. WDM驱动程序介绍(引)
  12. UGMT buildingEXODUS v4.0 WiN32.rar
  13. 【Linux】动态防火墙,实现对攻击IP的动态拦截,一定程度上解决云服务器主机经常被境外IP尝试登录,屏蔽指定地区、国家的IP连接
  14. 1-十八烷基-3-三乙氧基丙基硅烷咪唑溴盐离子液体([ODTIm]Br)修饰Fe3O4磁性纳米颗粒
  15. C++学习(一六七)qquick的Scroll、Stack和Swipe区别
  16. 变量的生存期与存储类型
  17. Testing WLW!!
  18. Vivo手机实现录音转文字的方法,图文步骤详解,特别简单
  19. 分享一个简单易用的python并行模块【PP模块】
  20. 独角兽项目 1 - 替罪羊

热门文章

  1. Docker删除容器与镜像
  2. Mysql语句大全及用法收集
  3. oracle字段逗号拆分,Script:oracle拆分逗号分隔字符串 实现split
  4. linux如何禁用核显黑屏,我的双显卡禁用了,用的核显intel,风扇也正常转动,为啥电脑...
  5. python做excel表格柱状图_Python openpyxl Excel绘制柱形图
  6. 丢手绢(差分前缀和)
  7. 使用canvas绘制六边形
  8. layer单页弹框去掉滚动条
  9. 利用ps橡皮擦工具快速抠图
  10. 《部落冲突》的分析与探讨