如何使用python捕获Android屏幕

时间:2019-06-14 13:11:01

标签: android python

我想使用python(使用opencv或其他库)对android屏幕进行一些图像处理。
我是python程序员,因此不想只为了这个特定的小任务而使用android studio或学习其他图像处理工具。

如何通过usb / ip /其他方式使用python连接手机以将其屏幕流式传输到计算机上?

如果可能的话,我也不介意用python编写代码并在android上运行。

1 个答案:

答案 0 :(得分:0)

尝试一下 但是您需要使用这个基本上是IP摄像机的应用 https://play.google.com/store/apps/details?id=com.pas.webcam

# Stream Video with OpenCV from an Android running IP Webcam (https://play.google.com/store/apps/details?id=com.pas.webcam)
# Code Adopted from http://stackoverflow.com/questions/21702477/how-to-parse-mjpeg-http-stream-from-ip-camera

import cv2
import urllib2
import numpy as np
import sys

host = "192.168.0.220:8080"
if len(sys.argv)>1:
    host = sys.argv[1]

hoststr = 'http://' + host + '/video'
print 'Streaming ' + hoststr

stream=urllib2.urlopen(hoststr)

bytes=''
while True:
    bytes+=stream.read(1024)
    a = bytes.find('\xff\xd8')
    b = bytes.find('\xff\xd9')
    if a!=-1 and b!=-1:
        jpg = bytes[a:b+2]
        bytes= bytes[b+2:]
        i = cv2.imdecode(np.fromstring(jpg, dtype=np.uint8),cv2.CV_LOAD_IMAGE_COLOR)
        cv2.imshow(hoststr,i)
        if cv2.waitKey(1) ==27:
            exit(0)