Python绘图之图像处理、文本与音频校验码和词云
图片转字符串文本
在编写程序之前需要一些准备工作
下载安装pillow的包,但调包的时候要用PIL
因为pillow还是隶属于PIL的一个分支
且如果你要下载使用PIL包里的函数的话,需要把pillow先删除
from PIL import Image
img = Image.open("Lebron_James.jpg")
out = img.convert("L") # 灰度模式
out.show()
width,height = out.size # 记录长宽尺寸
# getpixel函数用于查看像素值,数值越小越黑
print(out.getpixel((500,500)))
# 显示密度上从简单到复杂
asciis = "@%#*+=-. "
texts = "" # 存放最后的数据
for row in range(height):
for col in range(width):
gray = out.getpixel((col,row))
# 对像素值进行归一化,以此来对用字符
texts += asciis[int(gray / 255 * 8)]
texts += "\n"
with open(r"D:\python_code\python_full_learning\asciis.txt","w") as file:
file.write(texts)
核心思想就是通过灰度,映射到对于的字符,然后写入文本文件中
下面是程序运行之后的结果,再放上原图对比
且字符的长度,图像的大小都会对结果有影响
产生文本和音频校验码
首先需要下载captcha包
引入类之后实例化即可
# 生成图片验证码
from captcha.image import ImageCaptcha
image = ImageCaptcha()
image.write('Yeah','captcha.jpg')
# 生成音频验证码
from captcha.audio import AudioCaptcha
audio = AudioCaptcha() # 参数是指定的声音素材位置
audio.write("857","captcha.wav")
词云的生成
你是否有看到过你想要的词语组成的图片
其实这很容易做到
首先把你想要的词语输入到文本文件中,下载号wordcloud包
然后使用如下代码(当然也可以进行改进,做的更好)
import wordcloud
file = open(r"C:\Users\86189\Desktop\1.txt",encoding='utf-8')
text = file.read()
# 实例化产生词云
wc = wordcloud.WordCloud()
wc.generate(text)
image = wc.to_image()
image.show()
# 除去一些不想展示的内容
wc = wordcloud.WordCloud(stopwords="")
因为很多情况下,api的使用和查找总是需要到各种地方搜索,且说法不一
故总结了出处,虽然是英文但信息最全最纯正
python api文档的查看
第一种查看的方式是
在cmd中输入下面的命令
python -m pydoc -p 1234
接下来按b即可
另一种查看的方法是进入官网的文档里查看,下面是网址
https://www.python.org/