简体   繁体   中英

How to access phone camera using python script

I made a simple motion detector program in using python 3.7 and opencv, is there a way to access my phone's camera using python and stream the video to my laptop using bluetooth or mobile hotspot so I can process the data on my laptop? I'm basically just using my phone as a detachable camera.

Use IP Webcam android application. url is given by ip webcam and at the end I have added video for video streaming or you can url = ' http://192.168.137.138:8080/shot.jpg ' inside for loop before cap.read()

This works for me flawlessly with 1280 x 720 resolution NOTE your url ip will change but add video in the last

import cv2 
import numpy as np`
url = 'http://192.168.137.138:8080/video'
cap = cv2.VideoCapture(url)
while(True):
    ret, frame = cap.read()
    if frame is not None:
        cv2.imshow('frame',frame)
    q = cv2.waitKey(1)
    if q == ord("q"):
        break
cv2.destroyAllWindows()

You can do this using IP Webcam android application.

Steps -

  1. Install the application in your android phone.
  2. Connect your Laptop and Phone in a local network (you can use mobile hotspot).
  3. Start application and select Start Server option, the application will start capturing video and show you IP addresses.
  4. Use this IP address to read the video feed using the following python code.
  5. Process the video using OpenCV.

Python code -

import urllib
import cv2
import numpy as np
import ssl

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

url = 'Your URL'

while True:
    imgResp = urllib3.urlopen(url)
    imgNp = np.array(bytearray(imgResp.read()), dtype=np.uint8)
    img = cv2.imdecode(imgNp, -1)
    cv2.imshow('temp',cv2.resize(img,(600,400)))
    q = cv2.waitKey(1)
    if q == ord("q"):
        break;

cv2.destroyAllWindows()

You can find the android application here - IP Webcam

And this video will explain better - How to use with OpenCV

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM