#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.

More info in https://beacons.ai/elbruno



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 )

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: