当前位置: 首页 > 工具软件 > Douyin-Bot > 使用案例 >

Douyin-Bot 项目优化-改进,优化效率,本地cv2识别过滤

公羊伟志
2023-12-01

GitHub项目地址:项目地址

优化

参考  

cv2 官方文档

python-opencv-人脸识别实现 从图片中扣人脸

cv2实现人脸识别(图片、读写视频)

问题一:adb效率地下

adb命令效率太低,一个视频要78秒才能有反应,我们想办法加快速度,搜来搜去找到一个非常好的项目uiautomator2,响应速度是ms级别的。

首先安装uiautomator2

pip install -U uiautomator2

pip install -U weditor

python -m uiautomator2 init

添加

d = u2.connect_wifi('192.168.100.4')
print(d.info)
d.app_start("com.ss.android.ugc.aweme")
print('模块启动了')

修改翻页

    x1 = config['center_point']['x']
    y1 = config['center_point']['y']
    x2 = config['center_point']['x'] + config['center_point']['rx']
    y2 = config['center_point']['y'] + config['center_point']['ry']
    d.swipe_ext("up", scale=0.3)
    #d.swipe(x1, y1, x2, y2, duration)
    time.sleep(1.5)

修改点赞

    x = config['center_point']['x']
    y = config['center_point']['y']
    d.double_click(x, y)
    time.sleep(0.5)

修改关注

    x = config['follow_bottom']['x'] + _random_bias(10)
    y = config['follow_bottom']['y'] + _random_bias(10)
    d.click(x, y)
    time.sleep(0.5)

修改截图

        d.screenshot("autojump.png")
        print('d.screenshot')
        d.push("autojump.png", "/sdcard/")
        print('d.push')
        Image.open('./autojump.png')

 优化结果:截图 传输速度秒快

问题二:非美女视频赶快跳过

使用腾讯ai识别,首先会有手机传输到电脑延迟和提交腾讯ai的网络延迟,导致没有人脸的视频提交腾讯ai,所以我首先制作一个cv2本地识别判断人脸,加速识别速度。

目标:小脸和没有人脸的视频快速跳过

pip install opencv-python

修改项目文件douyin-bot.py

import cv2

		#cv2 人脸识别
        localCv2Img = cv2.imread('optimized.png')
        face_cascade = cv2.CascadeClassifier('C:\\Users\john\AppData\Local\Programs\Python\Python36\Lib\site-packages\cv2\data\haarcascade_frontalface_alt.xml')
        if type(localCv2Img) != str:
            localCv2Faces = face_cascade.detectMultiScale(localCv2Img)
            if len(localCv2Faces):
                for (x, y, w, h) in localCv2Faces:
                        # 设置人脸宽度大于128像素,去除较小的人脸
                        if w>=128 and h>=128:

优化结果:快速响应,本地cv2识别后上传,避免风景视频上传腾讯ai的网络延迟。

下期我们将抖音主播信息保存进数据库。

 

 类似资料: