Image Processing : Introduction

Similar documents
Image processing for gesture recognition: from theory to practice. Michela Goffredo University Roma TRE

Making PHP See. Confoo Michael Maclean

Computer and Machine Vision

Computer Vision Robotics I Prof. Yanco Spring 2015

2. Color spaces Introduction The RGB color space

Computing for Engineers in Python

Digital Image Processing Lec.(3) 4 th class

Lane Detection in Automotive

Images and Graphics. 4. Images and Graphics - Copyright Denis Hamelin - Ryerson University

EMGU CV. Prof. Gordon Stein Spring Lawrence Technological University Computer Science Robofest

2. Color spaces Introduction The RGB color space

Follower Robot Using Android Programming

Lane Detection in Automotive

IMAGE PROCESSING: AREA OPERATIONS (FILTERING)

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019

CAP 5415 Computer Vision. Marshall Tappen Fall Lecture 1

INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET

Enhanced Method for Face Detection Based on Feature Color

Correction of Clipped Pixels in Color Images

Sampling Rate = Resolution Quantization Level = Color Depth = Bit Depth = Number of Colors

GE 113 REMOTE SENSING. Topic 7. Image Enhancement

QUALITY CHECKING AND INSPECTION BASED ON MACHINE VISION TECHNIQUE TO DETERMINE TOLERANCEVALUE USING SINGLE CERAMIC CUP

CSE1710. Big Picture. Reminder

Global and Localized Histogram Equalization of an Image

Digital Image Processing

CS 376b Computer Vision

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB

Image Processing & Projective geometry

A New Approach to Control a Robot using Android Phone and Colour Detection Technique

Guided Image Filtering for Image Enhancement

Computer Graphics. Si Lu. Fall er_graphics.htm 10/02/2015

Fundamentals of Multimedia

ENGG1015 Digital Images

15EI403J- IMAGE PROCESSING LAB MANUAL

Implementing RoshamboGame System with Adaptive Skin Color Model

MATLAB 6.5 Image Processing Toolbox Tutorial

Digital Images. Back to top-level. Digital Images. Back to top-level Representing Images. Dr. Hayden Kwok-Hay So ENGG st semester, 2010

CSE 564: Scientific Visualization

IMAGES AND COLOR. N. C. State University. CSC557 Multimedia Computing and Networking. Fall Lecture # 10

DESIGN OF AN IMAGE PROCESSING ALGORITHM FOR BALL DETECTION

ROBOT VISION. Dr.M.Madhavi, MED, MVSREC

Computer Vision. Howie Choset Introduction to Robotics

CMVision and Color Segmentation. CSE398/498 Robocup 19 Jan 05

Sampling and Reconstruction. Today: Color Theory. Color Theory COMP575

Mahdi Amiri. March Sharif University of Technology

CATEGORY SKILL SET REF. TASK ITEM

CS534 Introduction to Computer Vision. Linear Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

Image processing in MATLAB. Linguaggio Programmazione Matlab-Simulink (2017/2018)

Comparison between Open CV and MATLAB Performance in Real Time Applications MATLAB)

An Efficient Color Image Segmentation using Edge Detection and Thresholding Methods

Introduction to computer vision. Image Color Conversion. CIE Chromaticity Diagram and Color Gamut. Color Models

PLazeR. a planar laser rangefinder. Robert Ying (ry2242) Derek Xingzhou He (xh2187) Peiqian Li (pl2521) Minh Trang Nguyen (mnn2108)

Mech 296: Vision for Robotic Applications. Vision for Robotic Applications

LECTURE 07 COLORS IN IMAGES & VIDEO

Computer Vision Based Chess Playing Capabilities for the Baxter Humanoid Robot

Linear Gaussian Method to Detect Blurry Digital Images using SIFT

CS/ECE 545 (Digital Image Processing) Midterm Review

Anti aliasing and Graphics Formats

Real-Time Face Detection and Tracking for High Resolution Smart Camera System

Sensors and Sensing Cameras and Camera Calibration

Vision, Color, and Illusions. Vision: How we see

Color Image Processing

OPEN CV BASED AUTONOMOUS RC-CAR

CSSE463: Image Recognition Day 2

Digital Image Processing. Lecture # 6 Corner Detection & Color Processing

IMAGE PROCESSING PROJECT REPORT NUCLEUS CLASIFICATION

ENEE408G Multimedia Signal Processing

Today s lecture is about alpha compositing the process of using the transparency value, alpha, to combine two images together.

ECE 619: Computer Vision Lab 1: Basics of Image Processing (Using Matlab image processing toolbox Issued Thursday 1/10 Due 1/24)

CSE1710. Big Picture. Reminder

APPLICATION OF COMPUTER VISION FOR DETERMINATION OF SYMMETRICAL OBJECT POSITION IN THREE DIMENSIONAL SPACE

Prof. Feng Liu. Winter /09/2017

IMAGE PROCESSING >COLOR SPACES UTRECHT UNIVERSITY RONALD POPPE

What You ll Learn Today

AUTOMATIC FACE COLOR ENHANCEMENT

MATLAB: Basics to Advanced

Images and Colour COSC342. Lecture 2 2 March 2015

Digital Image Processing. Lecture # 3 Image Enhancement

Moving Object Follower

Integrated Image Processing Functions using MATLAB GUI

Computers and Imaging

Intelligent agents (TME285) Lecture 4,

Image Perception & 2D Images

Graphics and Image Processing Basics

A Primer on Image Segmentation. Jonas Actor

Image Filtering Josef Pelikán & Alexander Wilkie CGG MFF UK Praha

Multimedia Systems Image II (Image Enhancement) Mahdi Amiri April 2012 Sharif University of Technology

What is an image? Bernd Girod: EE368 Digital Image Processing Pixel Operations no. 1. A digital image can be written as a matrix

Digital Image Processing

Hand Segmentation for Hand Gesture Recognition

Identification of Fake Currency Based on HSV Feature Extraction of Currency Note

Non Linear Image Enhancement

DodgeCmd Image Dodging Algorithm A Technical White Paper

Digital Imaging & Photoshop

MATLAB Image Processing Toolbox

High dynamic range and tone mapping Advanced Graphics

Embedded Systems CSEE W4840. Design Document. Hardware implementation of connected component labelling

Colors in Images & Video

Image Processing for feature extraction

An Approach for Reconstructed Color Image Segmentation using Edge Detection and Threshold Methods

Transcription:

Image Processing : Introduction

What is an Image? An image is a picture stored in electronic form. An image map is a file containing information that associates different location on a specified image. Common image file format includes: 1. JPEG 2. PNG 3. SVG

How does a computer store images? We all know the answer -PIXELS! What is a pixel - Its the smallest element of a picture. Pixel stores the color values. Here is the first digital image. The pixels can be clearly seen in this. As the quality of computers increased, Images with much better resolution are there in present times.

How does pixel store Image Information? A digital image is a rectangular grid of pixels. Digital image exists as an array of bytes in Computer s RAM and as files(various formats mentioned above) in memory card, hard drive, CD etc. Each pixel consists of 1 byte(8 bits) for black and white image and 3 bytes for a color image(one byte for Red, Blue and Green color values in RGB space). The more number of bytes a pixel stores for a color value, the more tonal levels are available and more clearer the picture will be.

Computer Vision and Image Processing Computer Vision means understanding the scene based on image data while Image Processing is to manipulate the pixels in the image in order to get some useful information about the characteristics of the image like brightness, contrast, etc.

Why Image Processing? An automated robot responds to its environment only after analysing the data it receives from different sensors.(you will have a lecture on sensors). Camera is one of the many important sensors in a robot. And to make the bot more informed of it s surroundings, we need to provide it with proper visual aids. So, the data received needs to be analysed before we could put it in use. That s where Image Processing comes into picture.

OpenCV An open source computer vision and machine learning software library. Implemented in c/c++, python and Java supported by Windows, linux and MacOS. Library has more than 2500 optimized state of the art computer vision and machine learning algorithms. Image Processing ( imgproc module ) Contains the image processing (manipulation) functions inside OpenCV. High Level GUI and Media ( highgui module) Contains built-in graphical user interface of the library. Image input and output ( imgcodecs module) Contains functions to read and write images. Link for tutorials : https://docs.opencv.org/2.4/doc/tutorials/tutorials.html

How does OpenCV stores images? The data type for an image variable is Mat. It is similar to any other data type that we generally encounter, for example int/double/char/vector etc. Declaration: Mat <image variable name> Ex : cv: :Mat ima( 240, 320, CV_8U, cv: :Scalar(100) ); ( For a greyscale image) For a color image, we have to specify three channels ( CV_8UC3 ).

How do we take image as input? 1. We can take an image from the console, in any valid readable image format as.jpg,.jpeg,.png etc. 2.The more useful way that we might need is to take image from a real time environment, say camera. The camera feed is a video stream, hence an image is taken as input inside a continuous loop so as to perform the required functionality in real time. Ex : cv: :Mat image = imread( argv[ 1 ], CV_LOAD_IMAGE_COLOR ) ; cv: :Mat image = imread( image.jpeg ) ;

How can we interpret an image? A color model is an abstract mathematical model describing the way colors can be represented as tuples of numbers. Ex : 1. RGB ( red, green, blue) 2. HSV ( Hue, Saturation, Value) 3. RGBA ( red, green, blue, alpha - for opacity) 4. YCbCr ( luminance, blue-difference, red-difference chroma component )

What is thresholding? Why do we do it? 1. Thresholding creates binary images from grey-level ones by turning all pixels below some threshold to zero and all pixels above that threshold to one. 2. It is the simplest segmentation technique that is used to separate an image into regions based on the value of the pixel. 3. Removes all the unnecessary parts in an image to focus only on the important aspects of the image.

Ex : 1. threshold( src_gray, dst, threshold_value, max_binary_value, threshold_type ) ; 2. adaptivethreshold( src, dst, maxvalue, adaptivemethod, thresholdtype ) ; 3. inrange ( frame, Scalar ( low_b, low_g, low_r), Scalar( high_b, high_g, high_r), frame_threshold ) ;

What are image contours? Contours can be explained simply as a curve joining all the continuous points (along the boundary), having same color or intensity. The contours are a useful tool for shape analysis and object detection and recognition. Ex : findcontours(input image, OutputArray contours, int mode, int method) ;

What is image blurring? Types of blurring. Why? Blurring simply means smoothing the image. It helps in reducing noise as well as details. It helps in reducing the complexity in order to just look at the noticeable characteristics in an image. There are various types of blurring. Few common examples are Gaussian Filtering, Median Filtering and Bilateral Filtering. Each filter has a specific kernel which is convolved with the image to produce the smoothing. Ex : Kernel

Histogram You can consider histogram as a graph or plot, which gives you an overall idea about the intensity distribution of an image. It is a plot with pixel values (ranging from 0 to 255, not always) in X-axis and corresponding number of pixels in the image on Y-axis. By looking at the histogram of an image, you get intuition about contrast, brightness, intensity distribution etc of that image.

What is Back Projection? 1. Back Projection is a way of recording how well the pixels of a given image fit the distribution of pixels in a histogram model. 2. To make it simpler: For Back Projection, you calculate the histogram model of a feature and then use it to find this feature in an image. 3. Application example: If you have a histogram of flesh color (say, a Hue-Saturation histogram ), then you can use it to find flesh color areas in an image.

Thank You.

Any Questions?