吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2896|回复: 10
收起左侧

[Python 转载] 【笔记】python数据分析——应用案例之图像负片

[复制链接]
qianshang666 发表于 2021-3-12 18:13
本帖最后由 qianshang666 于 2021-3-12 18:18 编辑

往期数据分析笔记

【笔记】python数据分析——numpy初识1
【笔记】python数据分析——numpy初识2
【笔记】python数据分析——变换与编程中的轴
【笔记】python数据分析——numpy随机数函数
【笔记】python数据分析——numpy数组索引及切片
【笔记】python数据分析——元素级运算及通用函数
【笔记】python数据分析——条件逻辑运算
【笔记】python数据分析——统计学运算
【笔记】python数据分析——矩阵相乘

图像负片

今天也是给大家带来一个图像负片的案例,让大家了解一下数据分析能够实现的功能,当然了,这个只是一个抛砖引玉的小案例而已

什么是图像负片

图像跟实际图像的明暗刚好相反,这个就称为图像负片

准备要导入的包

今天除了我们很熟悉的numpy包,还有一个包的名字叫pillow包,没有下载的可以下载一下

pip install pillow

然后我们导入需要的两个包

import numpy as np
from PIL import Image

开始对图片进行处理

1.打开图片

img = Image.open('./picture.jpg')
print(img)

运行结果:
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=4000x2571 at 0x276FAFEB310>
分析一下这个运行结果,mode的意思是样式,这里的RGB指的是三原色,即:红绿蓝,size的意思是大小,也就是说这个图片的大小是4000x2571的

2.将图片对象转成numpy数组

img = np.array(Image.open('./picture.jpg'))
print(img)

运行结果:
图片像素点.png
这些就是图像转为数组的像素点,这些数字最大的也只不过是255,因为RGB取色的范围是0~255

3.查看一下图片的形状和类型

print(img.shape,img.dtype)

运行结果:
(2571, 4000, 3) uint8
形状里面有三个数,这三个数分别是高度,宽度和样式(三原色)
类型中的uint8,指的是8位无符号整型,即没有负号,我上面也是说过了,三原色取色是在0~255

4.进行负片处理

img2 = np.ones(shape = (2571, 4000, 3))*255-img
print(img2)

运行结果:
负片像素点.png
上面代码的意思是先创建一个和原图片同样大小都为1的数组,然后乘以255的,这样这个新的数组的值就都为255,然后减去原图片的数组,这样就能让img2的像素点变成img的负像素点

5.将img2数组转为图片

Image.fromarray(img2.astype('uint8')).save('./pictures.jpg')
print('图片负片转换完成')

运行结果:
图片负片转换完成

6.更多想法
我们利用上面的这个想法,是不是我们就可以做一个对图片进行负片操作的软件呢,有朋友可能就要说了,第四步的创建同样大小的负片数组的时候好麻烦,每张图片都要改一次吗?
宝,当然不是这样的了,我在numpy初始1的笔记中就写到了一个带有like后缀的函数,没有看的可以去看看,我在这里直接上最终代码

import numpy as np
from PIL import Image

img = np.array(Image.open('./picture.jpg'))
print(img)
print(img.shape,img.dtype)

img2 = np.ones_like(img)*255-img
print(img2)

Image.fromarray(img2.astype('uint8')).save('./pictures.jpg')
print('图片负片转换完成')

最终图片效果

原图片

}RM_CJA~X%)K~RB}7@SONJH.png

图像负片

pictures.jpg

今日鸡汤

你再优秀,也总有人对你不堪。你再不堪,也有人认为是限量版的唯一。生命的价值在于自己看得起自已,人生的意义在于努力进取。

免费评分

参与人数 4吾爱币 +9 热心值 +4 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
flashman6820 + 1 + 1 用心做笔记
ciker_li + 1 + 1 我很赞同!
lyl610abc + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| qianshang666 发表于 2021-3-12 18:45
先喝鸡汤,再读笔记,这才是良好的习惯
lyl610abc 发表于 2021-3-12 18:52
qianshang666 发表于 2021-3-12 18:45
先喝鸡汤,再读笔记,这才是良好的习惯

不了不了,鸡汤喝多了容易反胃,我写笔记就不加鸡汤
 楼主| qianshang666 发表于 2021-3-12 18:57
lyl610abc 发表于 2021-3-12 18:52
不了不了,鸡汤喝多了容易反胃,我写笔记就不加鸡汤

不喝鸡汤没干劲
flashman6820 发表于 2021-3-12 19:49
技术笔记+鸡汤文,有创意。
smartfind 发表于 2021-3-12 20:08
鸡汤比案例优秀!
 楼主| qianshang666 发表于 2021-3-12 20:14
smartfind 发表于 2021-3-12 20:08
鸡汤比案例优秀!

那是不是以后都不用发案例了,直接发鸡汤就够了
wylksy 发表于 2021-3-12 21:28
好像没看懂
 楼主| qianshang666 发表于 2021-3-12 21:59

哪部分没懂
lyp701677 发表于 2021-3-12 22:04
很帅,很喜欢。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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