Skip to main content

PhoneSensor for machinevisiontoolbox. Get camera and IMU data from a camera remotely with Python

Project description

machinevision-toolbox-python.phone-sensor

Quickstart

Install with pip:

pip install -U machinevision-toolbox-python.phone-sensor
# or
pip install git+https://github.com/CallumJHays/machinevision-toolbox-python.phone-sensor

Example Code:

from phone_sensor import PhoneSensor
from matplotlib import pyplot as plt

# Hosts a webserver in a background thread.
# Display a QR code link to the app
phone = PhoneSensor(qrcode=True)

# wait for button press to snap a photo
img = phone.grab(button=True)
# get device orientation as a Quaternion
quaternion = phone.imu().quaternion

plt.subplot(1, 2, 1)
plt.imshow(img)
plt.subplot(1, 2, 2)
plt.bar(['x', 'y', 'z', 'w'], quaternion)
plt.show()

The above code will create an ASCII QRcode in your terminal. Scanning it with a smartphone will take you to a webapp hosted by the PhoneSensor, which looks like:

alt text

The output img is a width x height x 3 rgb np.ndarray like you'd expect from machinevisiontoolbox or opencv-python.

Contributing

PRs welcome! The stack is Python3.6 and Typescript4.1 & CreateReactApp4.0

Development Install

First, clone this repo and install dependencies

npm install
pip install -e .

Running in Development Mode

  1. Run the dev-server (and keep it running):
npm start
  1. Create a PhoneSensor in proxy mode:
>>> from phone_sensor import PhoneSensor
>>> phone = PhoneSensor(qrcode=True, \
        proxy_client_from="localhost:3000")
>>> phone.grab(button=True)

or just run the python examples/devmode.py

Then click the link in terminal to test the app

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page