Preface

Digital visual media has, undoubtedly, become a vital part of our everyday lives. Analog means of storing and processing information have gradually faded and are nowadays used either by aficionados of analog media, or for very specialized applications. Capturing and storing image or video information have rapidly become common, fast, and cheap processes, since almost everyone can have access to a digital electronic device that can be used for these aims, whether it is a photographic or video camera, or even a mobile phone. The outburst of visual media-capturing devices has led to an increase of amateur photographers and weekend filmmakers, who often have a problem deciding what software to use to process their stored images or videos. The rule of thumb is that free software solutions often have limited functionalities or are very complicated, while commercial solutions tend to be very expensive and sometimes do not provide all the functionalities that a user would hope for.

This book presents a rather uncommon alternative solution that might not be considered by users who only need an image, or a video editing software, but could certainly appeal to users who are also students, scientists, or just have easy access to the multifunctional, high level programming environment, called MATLAB.

What this book covers

Chapter 1, Basic Image Manipulations, introduces you to the environment of MATLAB and takes you on a tour to its basic tools and functionalities. Then, image importing and displaying in MATLAB is discussed, followed by a demonstration of the MATLAB GUI for image manipulation. Basic image transformations are covered, such as rotating/flipping, resizing, and cropping an image. Finally, different ways of writing an image are presented. The chapter includes hands-on examples that tie most of the processes covered, together.

Chapter 2, Working with Pixels in Grayscale Images, is based on examples of pixel-based processing of an image. Several classic processes for image enhancement are discussed, such as thresholding, local, or global contrast enhancement. The methods presented use several techniques that gently introduce you to the secrets of MATLAB programming. A practical example in image enhancement concludes this chapter.

Chapter 3, Morphological Operations and Object Analysis, introduces the basic methods of morphological image analysis. In it, you will learn of ways to perform binarization of a grayscale image using the thresholding methods. Edge detection and other morphological operators are presented and explained, so that you learn how to select and manipulate particular image regions that interest you the most. You will also learn the techniques that automatically detect corners, circles, and lines in an image. Several hands-on examples will vividly demonstrate all these techniques.

Chapter 4, Working with Color Images, extends previous methods to color images. Some of the processes mentioned for grayscale are now revisited for color image processing. Different color spaces and their advantages are explained with examples on color enhancement in MATLAB. You will learn how illumination and color can be separated and processed independently. The technique for color isolation is explained through a practical example and finally, some of the methods mentioned previously are used to teach you how to develop a popular application: red eye correction in your photographs.

Chapter 5, 2-Dimensional Image Filtering, dives into some more complex issues for image filtering, such as deblurring and sharpening of images. You will get to work on more sophisticated techniques for image denoising. Some more interesting and fun examples will let you start enjoying your experience more deeply. We will work on ways to apply some of the filter locally, to enhance or blur specific image regions.

Chapter 6, Mixing Images for Science or Art, will wake up the artist, or the scientist in you. You will learn the techniques that mix channels of multispectral images for scientific visualization. Then, we will present fun, hands-on examples for blending, or stitching images, to produce artistic results. We will also work on ways to create artistic HDR (High Dynamic Range) images in MATLAB. Finally, we will present a simple way to create panoramic images.

Chapter 7, Adding Motion – From Static Images to Digital Videos, introduces you to video processing by building on the previous knowledge you have acquired. The fact, that videos can be generated by static images, will help you to better comprehend basic ideas. So, after covering the basics of video frame processing in MATLAB and demonstrating how we can load and play back videos, we will show how to create a video from static images. The construction of a time-lapse video is the basic hands-on example we will be working on in this chapter.

Chapter 8, Acquiring and Processing Videos, demonstrates the functionalities of the image acquisition tool for MATLAB. You will be given step-by-step examples on ways to shoot video with your camera and use your computer as a Digital Video Recorder, using the special GUI tool contained in MATLAB. Video compression and basic color video processing techniques are also demonstrated in this chapter, accompanied by a discussion on performance issues.

Chapter 9, Spatiotemporal Video Processing, introduces you to command line manipulation and processing of videos. After covering basic video frames manipulations in MATLAB, you will learn how to deinterlace videos, using intra-frame, inter-frame, or mixed techniques. Furthermore, spatiotemporal video filtering is presented, with hands-on examples to help you get the idea.

Chapter 10, From Beginner to Expert – Handling Motion and 3-D, introduces you to methods of motion detection in videos. Building on basic knowledge, we will get to the point of creating a simple surveillance system in MATLAB. You will also be taught the basics of estimating motion using popular optical flow algorithms, included in one of the toolboxes of MATLAB. You will also be introduced to feature-based image registration for motion compensation. The working example for this will be video stabilization. Finally, we will introduce an example of three-dimensional video and cover a very basic and fun example of turning a regular video to a 3-D one.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset