opencv获取手机屏幕内容

技术栈

下载scrcpy

win: github.com/Genymobile/scrcpy/blob/...

opencv获取手机屏幕内容

  1. 解压
  2. cmd进入到解压后目录
  3. 手机链接电脑
  4. adb.exe devices
  5. scrcpy.exe --video-codec=h265 --max-size=800 --max-fps=60 --no-audio --window-title='phone'
    然后就可以看到窗口:

opencv获取手机屏幕内容

看视频非常的流畅,感知不到延迟。


--video-codec=h265 --max-size=800 --max-fps=60 --no-audio --window-title='phone 参数解释:

--video-codec=h265: 使用h265
--max-size=800 宽度最大尺寸800 (我屏幕3200*1440,不想处理太大的图 所以设置800)
--max-fps=60  最大60--no-audio  无声音
--window-title='phone'  窗口标题设置为phone

获取scrcpy的窗口

import cv2
import numpy as np
import mss
import pygetwindow as gw

windows = gw.getWindowsWithTitle('phone')
if not windows:
    raise Exception("scrcpy窗口未找到")
window = windows[0]

bbox = (window.left, window.top, window.right, window.bottom)
id = 0 
with mss.mss() as sct:
    while True:
        screen = sct.grab(bbox)
        img = np.array(screen)
        # 将BGR转换为RGB
        img = cv2.cvtColor(img, cv2.COLOR_BGRA2BGR)
        # 获取了img 就可以自定义处理
        id += 1
        if id % 30 == 0:
            print(img.shape[:2]) # 打印图片尺寸
        # 在OpenCV窗口中显示
        cv2.imshow("opencv show", img)
        # 按'q'键退出
        if cv2.waitKey(10) & 0xFF == ord('q'):
            break
cv2.destroyAllWindows()

opencv获取手机屏幕内容

本作品采用《CC 协议》,转载必须注明作者和本文链接
专心学习不瞎搞
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
89
粉丝
108
喜欢
481
收藏
724
排名:108
访问:8.8 万
私信
所有博文
社区赞助商