Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Raspberry Pi Computer Vision Programming

You're reading from   Raspberry Pi Computer Vision Programming Design and implement computer vision applications with Raspberry Pi, OpenCV, and Python 3

Arrow left icon
Product type Paperback
Published in Jun 2020
Publisher Packt
ISBN-13 9781800207219
Length 306 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Ashwin Pajankar Ashwin Pajankar
Author Profile Icon Ashwin Pajankar
Ashwin Pajankar
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Chapter 1: Introduction to Computer Vision and the Raspberry Pi 2. Chapter 2: Preparing the Raspberry Pi for Computer Vision FREE CHAPTER 3. Chapter 3: Introduction to Python Programming 4. Chapter 4: Getting Started with Computer Vision 5. Chapter 5: Basics of Image Processing 6. Chapter 6: Colorspaces, Transformations, and Thresholding 7. Chapter 7: Let's Make Some Noise 8. Chapter 8: High-Pass Filters and Feature Detection 9. Chapter 9: Image Restoration, Segmentation, and Depth Maps 10. Chapter 10: Histograms, Contours, and Morphological Transformations 11. Chapter 11: Real-Life Applications of Computer Vision 12. Chapter 12: Working with Mahotas and Jupyter 13. Chapter 13: Appendix 14. Other Books You May Enjoy

Single-board computers

A single-board computer (abbreviated to SBC) is a complete computer system on a single printed circuit board (abbreviated to PCB). The board usually has a processor(s), RAM, input/output (I/O), an Ethernet port for networking, and USB ports for interfacing with USB devices. A few single-board computers have Wi-Fi and Bluetooth, too. SBCs run OS distributions such as Ubuntu, Windows, Debian, and more. These OS distributions have specially tailored versions for use with these SBCs.

Unlike traditional computers, an SBC is not modular and its hardware cannot be upgraded because all the components (such as the CPU, RAM, GPU, and interfacing ports) are integrated on a single PCB itself. SBCs are used as low-cost computers in academia, research, and various other industries. The use of SBCs in embedded systems is quite widespread, and many individuals, research organizations, and companies have developed and released fully functional and usable products based on SBCs. Many of these products are crowdfunded. The main advantage of SBCs is onboard General-Purpose Input/Output (GPIO) pins. These pins provide functionalities such as various buses (Serial Peripheral Interface (SPI), I2C, and SMBus), digital I/O, analog input, and Pulse Width Modulation (PWM) output. Try not to get overwhelmed with all of this technical vocabulary. We will learn most of these concepts in more detail with the help of experiments. Almost all of the popular SBCs have GPIO in some form or other. Due to their small form factor and onboard GPIO, they are popular in schools, universities, training centers, boot camps, and maker spaces. They are frequently used in the areas of sensor networks and the internet of things (IoT).

To summarize, the advantages of SBCs are as follows:

  • Low cost
  • Small size
  • Low power consumption
  • Provision for onboard networking and I/O

However, SBCs come with their own set of disadvantages. As all the components of an SBC are on the same PCB, it can be very difficult to repair if a component is damaged due to mechanical or electrical reasons. For the same reason, we cannot even upgrade anything on an SBC. These are the only major disadvantages of SBCs.

The Microcomputer Trainer MMD-1, designed by John Titus in 1976, is the first true single-board microcomputer that was based on the Intel microprocessor, C8080A. It was called dyna-micro during the prototyping phase, and the production units were called MMD-1 (short for Mini-Micro Designer 1).

We are now going to take a look at the Raspberry Pi series in detail. However, before that, we will become acquainted with other popular SBC families.

The Beagleboard family

The BeagleBoard.org Foundation is an organization based in the USA. It is a non-profit entity, and its objective is to provide education and collaboration around the design, development, testing, and use of open source hardware and software in the area of embedded systems. They have developed various SBCs named after beagles (a popular breed of domestic canine species). You can find a list of the current SBCs that they developed, which are in production, at http://beagleboard.org/boards. You can also find related products and accessories for Beagle boards at the same URL.

Their latest product, at the time of writing, is PacketBeagle (http://beagleboard.org/pocket).

ASUS Tinkerboard

The ASUS Tinkerboard is designed and manufactured by ASUS (a Taiwan-based multinational corporation). Its size, layout, and pins are compatible with second- and third-generation Raspberry Pi boards. You can find more details about all the editions of the ASUS Tinkerboard at https://www.asus.com/us/Single-Board-Computer/. The following photograph shows the top view of an ASUS Tinkerboard:

Figure 3: ASUS Tinkerboard

Figure 1.3 – ASUS Tinkerboard

NVIDIA Jetson

NVIDIA Jetson is a family of modules that is used for computer vision, AI, and speech processing tasks (https://developer.nvidia.com/embedded/develop/hardware). The best member for beginners to get started with is Jetson Nano. And the best place to begin is on the web page of Jetson Nano Developer Kit at https://developer.nvidia.com/embedded/jetson-nano-developer-kit. Here's a side view of the developer kit:

Figure 4: Nvidia Jetson Nano

Figure 1.4 – Nvidia Jetson Nano

Intel boards

Intel Corporation also produces many boards that can be called SBCs. You can find details on the current generation of modules that are in production at https://software.intel.com/en-us/iot/hardware/all. We have had the privilege of working with several of the excellent Intel SBCs and modules. Many of them are discontinued, and you can find the full list and support documentation for them at https://software.intel.com/en-us/iot/hardware/discontinued. Note that you might be able to get a good deal on used and discontinued boards from Intel. They are also great for learning. For beginners of computer vision, I like to recommend Intel Up Squared Kit. You can find out more at https://software.intel.com/en-us/iot/hardware/up-squared-ai-vision-dev-kit.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime