运维开发网

Python代码实现了各种很酷的功能

运维开发网 https://www.qedev.com 2022-06-18 17:45 出处:网络
这篇文章主要介绍了Python代码实现各种酷炫功能,生成二维码、生成词云、批量抠图、文字情绪识别等功能分享,需要的小伙伴可以参考一下

这篇文章主要介绍了Python代码实现各种酷炫功能,生成二维码、生成词云、批量抠图、文字情绪识别等功能分享,需要的小伙伴可以参考一下


一、生成二维码

二维码也叫二维条码,常见的二维码是QR码,QR是快速反应的全称。是近年来移动设备上非常流行的一种编码方式,生成一个二维码也非常简单。在Python中,我们可以通过MyQR模块生成一个二维码,但是生成一个二维码只需要两行代码。先安装MyQR模块,选择国内源码在这里下载:

pip install qrcode

安装完成后,我们可以开始编写代码了:

import qrcodetext = input(输入文字或URL:) # 设置URL必须添加http://img =qrcode.make(text)img.save() #保存图片至本地目录,可以设定路径img.show()

我们执行代码后,会在项目下生成一个二维码。当然,我们也可以丰富二维码:

让我们先安装MyQR模块。

pip install myqrdef gakki_code(): version, level, qr_name = myqr.run( words=https://520mg.com/it/#/main/2, # 可以是字符串,也可以是网址(前面要加http(s)://) version=1, # 设置容错率为最高 level='H', # 控制纠错水平,范围是L、M、Q、H,从左到右依次升高 picture=gakki.gif, # 将二维码和图片合成 colorized=True, # 彩色二维码 contrast=1.0, # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0 brightness=1.0, # 用来调节图片的亮度,其余用法和取值同上 save_name=gakki_code.gif, # 保存文件的名字,格式可以是jpg,png,bmp,gif save_dir=os.getcwd() # 控制位置 )gakki_code()

此外,MyQR还支持动态图片。


二、生成词云

词云,也叫词云,是文本数据中出现频率较高的ldquo关键词rdquo在视觉亮点中,对关键词进行渲染,形成云雾般的彩色画面,让你一眼就能体会到文本数据的主要意思。

但作为一个老码农,我还是喜欢用自己的代码生成自己的词云。很复杂吗?需要很长时间吗?很多文字介绍了各种方法,其实只需要10行python代码。

首先安装必要的库。

pip install wordcloudpip install jiebapip install matplotlibimport matplotlib.pyplot as pltfrom wordcloud import WordCloudimport jiebatext_from_file_with_apath = open('/Users/Linuxmi/Linuxmi.txt').read()wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)wl_space_split = .join(wordlist_after_jieba)my_wordcloud = WordCloud().generate(wl_space_split)plt.imshow(my_wordcloud)plt.axis(off)plt.show()

仅此而已,生成的词云是这样的:


阅读这10行代码:

1 ~ 3行,分别导入绘图库matplotlib、wordcloud生成库WordCloud和jieba词库;
4行,读取本地文件的5 ~ 6行
,使用jieba进行分词,用空网格分隔分词结果;
7行,为分割后的文本生成词云;
第8 ~ 10行,用pyplot展示单词云图。

这也是我喜欢python的原因之一。简洁明快。


三、批量抠图

抠图的实现需要借助百度飞桨的深度学习工具paddlepaddle。我们需要安装两个模块来快速实现批量抠图。第一个是PaddlePaddle:

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

还有paddlehub模型库:

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

接下来,我们只需要5行代码来实现批量抠图:

import os, paddlehub as hubhumanseg = hub.Module(name='deeplabv3p_xception65_humanseg') # 加载模型path = 'D:/CodeField/Workplace/PythonWorkplace/GrapImage/' # 文件目录files = [path + i for i in os.listdir(path)] # 获取文件列表results = humanseg.segmentation(data={'image':files}) # 抠图


四、文字情绪识别

在paddlepaddle面前,自然语言处理也变得非常简单。要实现角色情感识别,还需要安装PaddlePaddle和Paddlehub。具体安装请参考第三部分。

接下来是我们的代码部分:

import paddlehub as hub senta = hub.Module(name='senta_lstm') # 加载模型sentence = [ # 准备要识别的语句 '你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',]results = senta.sentiment_classify(data={text:sentence}) # 情绪识别# 输出识别结果for result in results: print(result)

识别的结果是一个字典列表:

{#39;文本# 39;: #39;你太美了# 39;, #39;情操_标签# 39;: 1, #39;感悟_ key # 39: #39;正# 39;, #39;正_ probs # 39: 0.9602, #39;negative _ probs # 39:0.0398 }
{ # 39;文本# 39;: #39;你好丑# 39;, #39;情操_标签# 39;: 0, #39;感悟_ key # 39: #39;负# 39;, #39;正_ probs # 39: 0.0033, #39;negative _ probs # 39:0.9967 }
{ # 39;文本# 39;: #39;我好难过# 39;, #39;情操_标签# 39;: 1, #39;感悟_ key # 39: #39;正# 39;, #39;正_ probs # 39: 0.5324, #39;negative _ probs # 39:0.4676 }
{ # 39;文本# 39;: #39;我不开心# 39;, #39;情操_标签# 39;: 0, #39;感悟_ key # 39: #39;负# 39;, #39;正_ probs # 39: 0.1936, #39;negative _ probs # 39:0.8064 }
{ # 39;文本# 39;: #39;这个游戏好玩# 39;, #39;情操_标签# 39;: 1, #39;感悟_ key # 39: #39;正# 39;, #39;正_ probs # 39: 0.9933, #39;negative _ probs # 39:0.0067 }
{ # 39;文本# 39;: #39;什么垃圾游戏# 39;, #39;情操_标签# 39;: 0, #39;感悟_ key # 39: #39;负# 39;, #39;正_ probs # 39: 0.0108, #39;negative _ probs # 39: 0.9892}

情感_关键字段包含情感信息,详细分析可以在Python中找到。自然语言处理只需要5行代码。


五、识别是否带了口罩

这是使用PaddlePaddle的相同产品。我们按照上面的步骤安装了PaddlePaddle和Paddlehub。

然后开始写代码:

import paddlehub as hub# 加载模型module = hub.Module(name='pyramidbox_lite_mobile_mask')# 图片列表image_list = ['face.jpg']# 获取图片字典input_dict = {'image':image_list}# 检测是否带了口罩module.face_detection(data=input_dict)

执行上述程序后,项目下会生成detection_result文件夹,识别结果就在里面。


六、简易信息轰炸

Python控制输入设备的方式有很多种。我们可以使用win32或pynput模块。我们可以通过简单的循环操作达到信息轰炸的效果。这里以pynput为例。我们需要首先安装模块:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput

在编写代码之前,我们需要手动获取输入框的坐标:

from pynput import mouse# 创建一个鼠标m_mouse = mouse.Controller()# 输出鼠标位置print(m_mouse.position)

可能有更高效的方法,但我不会。

获得这个坐标后,我们就可以记录了。不要移动消息窗口。然后,我们执行以下代码,并将窗口切换到消息页面:

import timefrom pynput import mouse, keyboardtime.sleep(5)m_mouse = mouse.Controller() # 创建一个鼠标m_keyboard = keyboard.Controller() # 创建一个键盘m_mouse.position = (850, 670) # 将鼠标移动到指定位置m_mouse.click(mouse.Button.left) # 点击鼠标左键while(True): m_keyboard.type('你好') # 打字 m_keyboard.press(keyboard.Key.enter) # 按下enter m_keyboard.release(keyboard.Key.enter) # 松开enter time.sleep(0.5) # 等待 0.5秒


七、识别图片中的文字

我们可以通过Tesseract来识别图片中的文字,这在Python中实现起来非常简单,但是前期下载文件和配置环境变量有点繁琐,所以本文只展示代码:

import pytesseractfrom PIL import Imageimg = Image.open('text.jpg')text = pytesseract.image_to_string(img)print(text)

其中text是已识别的文本。如果对准确性不满意,还可以使用百度的通用文本界面。


八、简单的小游戏

从一些小例子入手,感觉效率很高。

import randomprint(1-100数字猜谜游戏!)num = random.randint(1,100)guess =guessi = 0while guess != num: i += 1 guess = int(input(请输入你猜的数字:)) if guess == num: print(恭喜,你猜对了!) elif guess lt; num: print(你猜的数小了...) else: print(你猜的数大了...)print(你总共猜了%d %i + 次)

关于Python代码实现各种很酷的功能的这篇文章到此为止。关于Python实现酷炫功能的更多信息

0

精彩评论

暂无评论...
验证码 换一张
取 消