zhouzetian

一:生成二维码

首先需要先安装MyQR模块 

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

生成一张简单的二维码

import os
from MyQR import myqr


def test2():
    myqr.run(
        words="http://www.baidu.com",    # 所包含的信息
        picture=os.path.join(os.path.abspath(os.path.dirname(__file__)), "Image", "1.jpg"),   # 背景图片路径
        colorized=True,    # 是否有颜色,为False时为黑白
        save_name="code.png"   # 输出的文件名
    )

二: 对图片批量抠图

1: 先安装PaddlePaddle:    python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
2: 安装paddlehub模型库:    pip install -i https://mirror.baidu.com/pypi/simple paddlehub

import paddlehub as hub
hum = hub.Module(name=\'deeplabv3p_xception65_humanseg\')    # 加载模型
file = ["1.png"]   # 指定要抠图的图片
# 传入多张图片组成的list
results = hum.segmentation(data={"image": file})   # 进行抠图

处理后的图片会存放在自动新建的humanseg_output文件夹下

三:文字情绪识别

处理自然语言,所需要安装包的安装方式跟例二一样

def test5():
    senta = hub.Module(name="senta_lstm")    # 加载模型
    # 准备要识别的语句
    datas = ["真好", "真差", "真牛逼", "屌爆了"]
    results = senta.sentiment_classify(data={"text":datas})
    for result in results:
        print(result)

test5()

得到的是一个字典列表

{\'text\': \'真好\', \'sentiment_label\': 1, \'sentiment_key\': \'positive\', \'positive_probs\': 0.9992, \'negative_probs\': 0.0008}
{\'text\': \'真差\', \'sentiment_label\': 0, \'sentiment_key\': \'negative\', \'positive_probs\': 0.05, \'negative_probs\': 0.95}
{\'text\': \'真牛逼\', \'sentiment_label\': 1, \'sentiment_key\': \'positive\', \'positive_probs\': 0.5602, \'negative_probs\': 0.4398}
{\'text\': \'屌爆了\', \'sentiment_label\': 1, \'sentiment_key\': \'positive\', \'positive_probs\': 0.69, \'negative_probs\': 0.31}

四:识别是否带了口罩

所需要的的安装包跟上面的一样

def test6():
    mod = hub.Module(name=\'pyramidbox_lite_mobile_mask\')
    # 图片列表
    file= ["face.png"]
    mod.face_detection(data={"image": file})

运行之后图片会自动生成到新建的detection_result文件夹下

效果如下:

 五: 将图片抠图完之后设置背景图

import paddlehub as hub
from PIL import Image
def test():
    # 加载模型
    humanseg = hub.Module(name=\'deeplabv3p_xception65_humanseg\')
    # 抠图
    results = humanseg.segmentation(data={\'image\': [\'person.png\']})
    # 读取背景图片
    bg = Image.open(\'pic.png\')
    # 读取原图
    im = Image.open(\'humanseg_output/person.png\').convert(\'RGBA\')
    im.thumbnail((bg.size[1], bg.size[1]))
    # 分离通道
    r, g, b, a = im.split()
    # 将抠好的图片粘贴到背景上
    bg.paste(im, (bg.size[0] - bg.size[1], 0), mask=a)
    bg.save(\'xscn.png\')

test()

效果如下:

 

 六:实现九宫格

def test():
    im = Image.open("person.png")
    # 宽高各除以3,获取裁剪后的单张图片大小
    width = im.size[0] // 3
    height = im.size[1] // 3
    # 裁剪图片的左上角坐标
    start_x = 0
    start_y = 0
    # 用于给图片命名
    im_name = 1
    for i in range(3):
        for j in range(3):
            # 剪切图片并保存
            crop = im.crop((start_x, start_y, start_x+width, start_y+height))
            crop.save(str(im_name) + ".png")
            # 将左上角坐标的x轴向右移动
            start_x += width
            im_name += 1
        # 第一行剪切完后x继续往下移动
        start_x = 0
        start_y += height

 七:祛斑功效

import cv2
def test():
    level = 22   # 降噪
    img = cv2.imread("girl.jpg")
    img = cv2.bilateralFilter(img, level, level*4, level*4)
    cv2.imwrite("result.jpg", img)

结果对比:

 

 

 可以通过调节level等级来达到自己想要的效果

 

分类:

技术点:

相关文章:

  • 2021-11-16
  • 2022-12-23
  • 2021-09-24
  • 2021-09-12
  • 2020-04-15
  • 2022-01-22
  • 2021-08-28
  • 2021-08-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-07
  • 2021-08-08
  • 2021-12-18
  • 2021-11-24
相关资源
相似解决方案