学numpy,玩转图片
为啥能够使用代码处理照片
在程序员的眼中图片也就只是一堆数据而已,只要改变了不同的数据,照片所呈现出来的效果也不同。然而numpy这个库刚好能够让我们任意的揉捏这些数据,从而处理照片
1.如何使用numpy裁剪图片
导入我们所需要的库
import numpy as np
import matplotlib.pyplot as plt
#jupyter 魔法指令,预加载,显示图片
%matplotlib inline
#读取图片
img = plt.imread('./flower.jpg')#这里输入需要导入图片的位置
img#显示图片的数据
lt.imshow(img)#显示图片
img.shape#查看图片的长宽及颜色
img2 = img[60:290,30:450]#根据图片的长宽所截取自己需要的部分
img2#打印截取后的结果
运行后结果对比:
2. 对荷花进行“染色”
#引用了上面的部分代码
img3 = img[:,:,::-1]#对照片的数据进行切片操作,::-1是对红绿蓝三种颜色进行了不同的搭配。
img4 = img[:,:,[0,2,1]
plt.imshow(img3)
plt.imgshow(img4)
img3的显示结果:
img4的显示结果:
3.对图片进行马赛克处理
import numpy as np
import matplotlib as plt
%matplotlib inline
img = plt.imread('./di.jpg')
plt.imshow(img)#打印照片
img.shape#显示照片参数
head = img[0:230,200:380]#截取需要打马赛克的部分
head2 = head[::5,::5]#打马赛克的过程其实就是将照片的数值的间距调大
img2 = img.copy()#将img的参数复制给img2
#由于打马赛克的图片与需要打码的地方大小不一样,无法将有马赛克的直接粘贴在所需的地方,所以需要进行循环
for i in range(46):for j in range(36):img2[5*i:5+i*5,200+j*5:205+j*5] = head2[i:j]
plt.imshow(img2)
导入的原图:
进行打码的部分:
最后的结果:
4. 总结
一张图片是由长宽以及颜色三个参数构成。我们可以通过调整不同的长宽来对图片进行裁图,也可以通过这种方式进行打马赛克;而颜色是由三原色(0:红,1:绿,2:蓝)进行排列的方式来进行调色。
学numpy,玩转图片相关推荐
- numpy数组和图片互转
一.numpy array的存储和加载: load() 和 save() 函数是读写文件数组数据的两个主要函数,默认情况下,数组是以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中. save ...
- 小学计算机课在玩中学,学中玩,玩中学的作文(共5篇)
宋丽娜想必大家都明白学生产生对学习的厌恶是什么造成的,是上课的枯燥乏味,老师的苛刻古板造成的心理厌学症.为什么美国孩子和中国孩子不同?的确,中国的孩子成绩比美国的孩子好,但是没过孩子的课外知识远远比中 ...
- 【画学numpy】1.numpy数组初识
本文是画学numpy系列文章之一 ⭐️github:drawing_and_studying_numpy包含了可以运行的notebook文件以及本文绘制的所有插图. 也可以选择在百度的AI studi ...
- +1学姐玩跳棋 (SG函数)
+1学姐玩跳棋 Description 拥有复读机buff的+1学姐一路顺利,现在已经来到了最后一个关卡--跳棋大作战,该关卡有三个BOSS,分别是Gevjon,Tyr和Hoder. 战斗规则是,在1 ...
- 小学计算机课在玩中学,小鹿编程“玩中学、学中玩”趣味课程让孩子爱上学习...
原标题:小鹿编程"玩中学.学中玩"趣味课程让孩子爱上学习 孩子们都是天真无邪的小天使,他们喜欢什么不喜欢什么都会直观的表达出来,作为家长有时候真的很"无奈",我 ...
- 计算机考试字处理怎样加水印,一学即会!图片上如何添加文字水印
原标题:一学即会!图片上如何添加文字水印 平时工作中,有的小伙伴经常需要处理一大堆的图片,比如说在网上发表自己的文章,在购物网站上晒单,还是自己亲手拍的照片,自己制作的图片,或者画出来一个好的创意,想 ...
- 【时尚线人】驳样记:学陈蓉玩撞色_陈蓉吧_百度贴吧
[时尚线人]驳样记:学陈蓉玩撞色_陈蓉吧_百度贴吧 [时尚线人]驳样记:学陈蓉玩撞色_陈蓉吧_百度贴吧 [时尚线人]驳样记:学陈蓉玩撞色 只看楼主 收藏 回复 lizchr 铁杆会员 8 还记得我 ...
- 从小喜欢游戏对计算机兴趣,电脑游戏“学与玩”
玩,是孩子们成长过程中主要的生活内容.游戏就是孩子们的亲密伙伴,孩子在玩的过程中会仔细的观察,正确的操作,不断地发现问题,提出问题他们极力想知道其中的道理,就会向老师提出各种各样的问题.这就是我们教育 ...
- python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】
目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...
最新文章
- Android canvas.translate
- BZOJ3110: [Zjoi2013]K大数查询
- C++职工信息管理系统
- 在VMware中的Ubuntu虚拟机安装open-vm-tools调整屏幕可以复制粘贴
- 无需U盘在Windows下安装Linux系统实现双系统(非子系统)
- 分享Netsparker - Community Edition运用程序。
- BT.709 vs BT.2020
- Opencv 傅立叶变换 傅立叶逆变换
- gitlab 添加了 ssh keys, git clone git@xxx:xx.git 无法拉取的解决思路及办法
- GitHub 中超过3.5万开源代码被投毒
- 软考真题———2018上
- Docker从入门到放弃------docker的安装与初始化配置
- C语言中取余与取模的区别
- 更换一个已到使用寿命的墨盒--Epson
- 计算机没有检查到您的u盾,Win10检测不到U盾怎么办?
- 以 2、3……16 进制输出一无符号整型数
- folly库安装(2)openssl升级、python3.8安装
- 【C语言】scanf语句里关于%c的问题
- 23-25-35岁北漂者的未来该如何规划?~转
- 虚拟机安装系统的网络配置问题(Contos7版)
热门文章
- 和Remix比,求锤得锤
- UnityShader——MaterialCapture材质捕捉效果 (翡翠斧头)
- 文件共享服务器(CIFS)
- autorunner测试java,AutoRunner自动化测试工具
- 炫酷的可视化工具:processing 初识
- 糯米团—重制“iPhone团购信息客户端”(三)
- dcl并列控件 lisp_CAD autolisp jjj-dcl-make函数
- Scipy优化scipy.optimize.minimize
- MacOS Brew搭建PHP开发环境
- Spyder 打不开的一种解决办法