Python 凭借语法的易学性,代码的简洁性以及类库的丰富性,博得了泛滥开发者的青睐。上面咱们来看看,用不超过10行代码能实现些什么乏味的性能

百度飞桨

百度飞桨 paddlepaddle 是百度开源的深度学习工具,其功能强大,基于该工具咱们能够实现很既乏味又有用的性能

在应用之前,咱们必定要先装置喽

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

装置实现后,咱们来体验几个乏味的我的项目

批量抠图

批量获取指定目录下的图片,而后通过 paddlehub 训练好的模型进行批量抠图解决

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

Output:

咱们能够看到,通过解决之后的图片主动保留在目录 humanseg_output 上面

咱们能够比照下解决前后图片的差别

整体来看,抠图成果还是十分棒的!

留神:如果执行代码没有生成对应的 out 文件夹,能够从新手动装置模型再尝试

hub install deeplabv3p_xception65_humanseg==1.0.0

自然语言解决

飞浆同样有很强的自然语言解决能力,在解决文字情绪辨认方面也十分突出

senta = hub.Module(name='senta_lstm')        # 加载模型sentence = [    # 筹备要辨认的语句    '你好丑陋', '你真难看呀', '他好惆怅', '我不开心', '这是一款什么游戏,真垃圾', '这个游戏太好玩了',]results = senta.sentiment_classify(data={'text':sentence})    # 情绪辨认# 输入辨认后果for result in results:    print(result)

Output:

能够看出,文字情绪的辨认还是十分精确的,当然咱们这里语料比拟少,在大语料、更简单的语言环境下,飞浆的体现如何还有待验证

人脸识别

当今社会人脸识别能够说是随处可见,而在疫情肆虐的明天,口罩仿佛也成为咱们日常呈现必备的条件,飞浆工具也减少了口罩辨认性能,咱们来看看

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

face.jpg 如下

Output:

[{'data': [{'label': 'NO MASK',    'confidence': 0.9995137453079224,    'top': 478,    'bottom': 775,    'left': 1894,    'right': 2126},   {'label': 'NO MASK',    'confidence': 0.9903278946876526,    'top': 512,    'bottom': 810,    'left': 1754,    'right': 1998},   {'label': 'NO MASK',    'confidence': 0.9997405409812927,    'top': 697,    'bottom': 985,    'left': 1857,    'right': 2131},   {'label': 'NO MASK',    'confidence': 0.943692147731781,    'top': 575,    'bottom': 888,    'left': 1954,    'right': 2216}],  'path': 'face2.jpg'}]

能够看出,曾经判断出超过99%的概率,该张图片是没有佩戴口罩的

人脸关键点检测

人脸关键点检测是人脸识别和剖析畛域中的要害一步,它是诸如主动人脸识别、表情剖析、三维人脸重建及三维动画等其它人脸相干问题的前提和突破口

咱们以如下这张图片作为待检测图片

代码如下

face_landmark = hub.Module(name="face_landmark_localization")image = 'face.jpg'result = face_landmark.keypoint_detection(images=[cv2.imread(image)],visualization=True)print(result)

Output:

能够看到人脸关键点曾经标注进去,并且把检测后的图片主动存储在 face_landmark_output 目录下

OpenCV

OpenCV 作为最为驰名的计算机视觉工具,基于它咱们也能够做很多乏味的事件
首先咱们装置好 OpenCV 库

pip install opencv-python

猫脸辨认

在当今社会,谁还没有一个两个猫奴才呢,高冷的猫咪往往会失去人们非凡的爱戴!

咱们也习惯了人脸识别,明天就通过几行代码来看看猫脸辨认是怎么的呢

首先咱们到装置目录下提取锚链辨认 XML 分类器,具体目录如下

C:\Python3\Lib\site-packages\cv2\data

能够看到有如下很多分类器

咱们复制 haarcascade_frontalcatface.xml 到本人的我的项目下即可

# 待检测的图片门路ImagePath = './cat/cat.jpg'# 读取图片image = cv2.imread(ImagePath)# 把图片转换为灰度模式gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 探测图片中的猫脸# 获取训练好的猫脸的参数数据,进行猫脸检测face_cascade = cv2.CascadeClassifier(r'./haarcascade_frontalcatface.xml')faces = face_cascade.detectMultiScale(gray,scaleFactor=1.15,minNeighbors=5,minSize=(3, 3))search_info = "Find %d face."%len(faces) if len(faces) <= 1 else "Find %d faces."%len(faces)# 绘制猫脸的矩形区域(红色边框)for (x, y, w, h) in faces:    cv2.rectangle(image, (x,y), (x+w,y+h), (0,0,255), 2)# 显示图片# cv2.imshow('Find faces!', image)# cv2.waitKey(0)cv2.imwrite("./cat/cat2.jpg", image)

Output:

获取摄像头人脸

咱们编写一个获取实时动静视频流的代码,实时获取当中的人脸信息

detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')cap = cv2.VideoCapture(0)while True:    ret, img = cap.read()    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)    faces = detector.detectMultiScale(gray, 1.3, 5)    for (x, y, w, h) in faces:        cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)    cv2.imshow('frame', img)    if cv2.waitKey(1) & 0xFF == ord('q'):        breakcap.release()cv2.destroyAllWindows()

留神这里应用的分类器是 haarcascade_frontalface_default.xml,可不要用错哦

Output:

自行在本人的电脑上尝试下哦~

疾速生成动图

在很多时候,尤其是在线聊天时,输了什么也不能输掉斗图啊,上面的代码能够疾速生成动图,在和敌人的斗图当中,失利的把握又减少了

import imageioimage_list = ['image/1.jpg','image/2.jpg', 'image/3.jpg', 'image/4.jpg']gif_name = "dongtu.gif"duration = 1frames = []for image_name in image_list:    frames.append(imageio.imread(image_name))imageio.mimsave(gif_name, frames, "GIF", duration=duration)

Output:

动图二维码

二维码在咱们的生存当中切实时太重要了,收付款、疾速进入网站,拜访各种统计信息等等,上面就来疾速生成一个乏味的动图二维码

咱们应用的图片如下

代码如下

from MyQR import myqrurl = "https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzU5NDcyOTg4MA==#wechat_redirect"myqr.run(words=url,version=3,         picture="4.gif",colorized=True,save_name="luobodazahui.gif",         save_dir="./")

Output:

ftp 服务器

可能很多人不晓得,通过 Python 几行简略代码,咱们能够疾速实现一个繁难的 ftp 服务器,这样在局域网内进行文件传输不再发愁啦!

代码非常简单,间接运行 Python 自带的 http 服务器即可

python -m http.server 8090

Output:

接下来咱们拜访本地 IP + 端口8090

很弱小,很简略,很好用!

字符画

字符画是一系列字符的组合,咱们能够把字符看作是比拟大块的像素,一个字符能体现一种色彩,字符的品种越多,能够体现的色彩也越多,图片也会更有层次感

咱们只须要短短几行代码,就能够实现字符画的制作

咱们应用的图片如下

代码如下

IMG = "3.jpg"WIDTH = 80HEIGHT = 40OUTPUT = "./ascii/ascii.txt"ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")# 将256灰度映射到70个字符上def get_char(r,g,b,alpha = 256):    if alpha == 0:        return ' '    length = len(ascii_char)    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)    unit = (256.0 + 1)/length    return ascii_char[int(gray/unit)]im = Image.open(IMG)im = im.resize((WIDTH,HEIGHT), Image.NEAREST)txt = ""for i in range(HEIGHT):    for j in range(WIDTH):        txt += get_char(*im.getpixel((j,i)))    txt += '\n'print(txt)#字符画输入到文件with open(OUTPUT,'w') as f:    f.write(txt)

Output:

好了,这就是明天分享的内容,如果喜爱,就点个赞吧~

本文由mdnice多平台公布