#reTerminal – Installing OpenCV, and using a USB WebCam πŸ€³

Hi !

Let’s start with some posts using reTerminal with a very simple scenario:

Connect a Camera to the device and show the camera feed in reTerminal display

The output is something similar to this one.

reterminal with a camera displaying the camera feed

And letΒ΄s start with the base code to run this, based on my previous posts on OpenCV (see references)

import os
import cv2
import time
# init camera
execution_path = os.getcwd()
camera = cv2.VideoCapture(0)
while True:
# Init and FPS process
start_time = time.time()
# Grab a single frame of video
ret, frame = camera.read()
# calculate FPS >> FPS = 1 / time to process loop
fpsInfo = "FPS: " + str(1.0 / (time.time() start_time))
cv2.putText(frame, fpsInfo, (10, 10), cv2.FONT_HERSHEY_SIMPLEX, 0.4, (255, 255, 255), 1)
# Display the resulting image
cv2.imshow('Video', frame)
# Hit 'q' on the keyboard to quit!
if cv2.waitKey(1) & 0xFF == ord('q'):
# Release handle to the webcam

The main prerequisite to run this code is to have OpenCV installed. And this is a tricky process in a Raspberry Pi. I used to install all the necessary libraries and apps, and then build OpenCV in my device (see references).

Today I follow these steps to make this happens.

1st I install Virtual Environments to I can work in isolated modes for my tests. Run these scripts

sudo pip3 install virtualenv
virtualenv -p python3 camLabs
source camLabs/bin/activate

Last line will activate my virtual environment.

Once I’m in the virtual environment, I can install OpenCV with the following command

sudo pip install opencv-contrib-python==

And run the quick test to validate the installation.

In the process I learned a couple of lessons about installation with amazing errors like these ones

error installing opencv on reterminal 2
error installing opencv on reterminal

At the end, the simple command to install OpenCV makes the magic!

Happy coding!


El Bruno

More posts in my blog ElBruno.com.


Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: