Open In App
Related Articles

Connect your android phone camera to OpenCV – Python

Improve Article
Save Article
Like Article

Prerequisites: OpenCV

OpenCV is a huge open-source library for computer vision, machine learning, and image processing. OpenCV supports a wide variety of programming languages like Python, C++, Java, etc. It can process images and videos to identify objects, faces, or even the handwriting of a human. 

Many a time, while doing Computer Vision or Image Processing using our PC’s webcam is not a very option. Maybe we want to increase the camera quality of our webcam, or we want to create some image processing applications which will use an android camera as the medium. 

This article uses Windows to do this. But the basics of the code will be same on other Operating systems too.


  • Download and install IP Webcam application on your mobile phone.
  • Then make sure your PC and Phone both are connected to the same network. Open your IP Webcam application on your both, click “Start Server” (usually found at the bottom). This will open a camera on your Phone.
  • A URL is being displayed on the Phone screen, type the same URL on your PC browser, and under “Video renderer” Section, click on “Javascript”.

  • You can see video captured on your phone, which starts showing up on your browser. Now, what we will be going to do is, taking image data from the URL using the request module and convert this to an image frame using NumPy, and finally, start using our Android camera as a webcam in Python.
  • In the code:
    • Import module
    • Add URL displayed in your phone
    • Continuous fetch data from URL
    • Keep displaying this data collected
    • Close window



# Import essential libraries
import requests
import cv2
import numpy as np
import imutils
# Replace the below URL with your own. Make sure to add "/shot.jpg" at last.
# While loop to continuously fetching data from the Url
while True:
    img_resp = requests.get(url)
    img_arr = np.array(bytearray(img_resp.content), dtype=np.uint8)
    img = cv2.imdecode(img_arr, -1)
    img = imutils.resize(img, width=1000, height=1800)
    cv2.imshow("Android_cam", img)
    # Press Esc key to exit
    if cv2.waitKey(1) == 27:


Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out - check it out now!

Last Updated : 03 Jan, 2023
Like Article
Save Article
Similar Reads
Complete Tutorials