Pre-Processing of Video Images for Hand Control System

Junwu Weng, Xiaoyi Zou, Jiayong Chen



Introduction

Illumination impact from surrounding environment is a big headache in computer vision field. In order to mitigate this impact, two ways are considered in this project. First, get into camera video sampling procedure and try to obtain higher gray scale image so as to acquire more illumination information of scene. Second, use image processing algorithms to mollify illumination impact.


Camera Sampling

Our sampling platform is based on an USB development board, as shown in Figure 1(1), whose core module is a CY7C68013A MCU, which is designed by Cypress Semiconductor. We use C language to program this chip. The main responsibility of this board is about setting up basic parameters to registers in camera module when this platform is initializd and transferring video data from camera to computer via USB cable.

  • (1) Cypress USB Development Board

  • (2) Development Board and Camera Module

  • Figure 1. Sampling Platform

The most important parameters we set up to the camera is its output format. In order to acquire enough illumination information from scene, we set camera module to output 10-bit raw data images. Generally, pixels on raw data image are arranged in Bayer Mode, as illustrated in Figure 2(1). Each pixel on CMOS sensor is reponsible for its own color (red, green or blue). Therefore, the raw data image is just a gray image. In order to get color images (RGB Image), interpolation algorithm must be included.

  • (1) Bayer Mode

  • (2) Image Illustration of Bayer Mode

  • Figure 2. Illustration of Bayer Mode


Image Processing

In this project, we use Retinex Theory to mitigate illumination impact from surrounding environment. One of the important parts of this algorithm is estimating illumination component of image. Here, we use Meanshift to estimate illumination of scene. The performance of this algorithm is shown in Figure 3. Although this algorithm could "brighten" the dark area of images well, its computational efficiency is low, and it is not suitable for video processing.

  • (1) Original Image

  • (2) Processed Image

  • Figure 3. Illustration of Retinex Algorithm