Professional Documents
Culture Documents
Bachelor of Engineering
in
Computer Science and Engineering
by
Prof. Arjun D.
CERTIFICATE
University, Belgaum, for the award of the Bachelor degree in Computer Science and Engineering
The Project report has been approved as it satisfied the academic requirements in the respect
Signature of Examiners
K.L.E. Society’s
B.V.BhoomaraddiCollege of Engineering & Technology, Hubli-580 031
Department of Computer Science and Engineering
ABSTRACT
This report describes a project that explores computervision based analysis for developing
newforms of Human Computer Interface (HCI). Intention of the project is to use computer vision to
complement existing modes ofhuman-interaction by making them more intuitive. Thus by doing
this system is made human like.
The camera acts as input device for the system by giving continuous images. And these
images are processed through different algorithms to recognise a particular activity. Once this is
done the system is made to take a particular action.
A prototype for interacting with 3D GRAPHICAL EDITORS by using hand gestures and
Trackpenhas been developed.The MULTI-SKETCHapplication allows multiple users to paint in the
same windowsimultaneously.Another application, EASY TRANSFER,can transfer data from
system to cell phone just by gestures and Trackpen.
ACKNOWELEDGEMENT:
We are grateful to Prof K.R. Biradar, Head of the Department of Computer science and
Engineering and our guide Prof Karuna Gull, Prof Arjun Gotur, Prof Mahadev for providing
adequate laboratory facilities and for their time to time suggestion which has helped to improve this
project.
We may take this opportunity to thank all the members of the teaching and non-teaching staff
of the department of Computer science and Engineering for their cooperation in completing this
mini project.
It would be the incomplete if we don’t thank to our friends and colleagues whose critical
appreciation and camaraderie helped as to stay put with the project till the end.
Dept of Computer Science and Engineering.
PAVAN SHINDE
PRAMOD RAMDURG
PRASANNA GADDANAKERI
PRASANNA BHAT
DATE: - 11/25/2010
CONTENTS
1 INTRODUCTION ----------------------------------- 1
1.1Problem statement 3
1.2Features 3
1.3Scope of project 3
1.4Limitation 3
2REQUIREMENT ANALYSISAND
SPECIFICATION------------------------------------- 4
2.1 Functional & nonfunctional requirement 4
2.1.1 Functional requirements
2.1.2 Non-functional requirements
2.2 Hardware & software requirements 4
2.3 software process model 5
2.4 Use cases for the system 5
6 REFERENCES ---------------------------------------- 18
7 APPENDIX----------------------------------------------- 19
HCI:BY VISION
Chapter 1 INTRODUCTION
1.1 Overview
In recent years many technological breakthroughs have occurred, but computers are still
limited in their multimedia understanding. This means that we have increased the effective
bandwidth of information from computers to humans, by sending audio, images, graphics, but the
same rate of improvement has not happened in computer understanding. Most computers still
receive input from low bandwidth devices like keyboards or mouse. Only few interfaces are able to
understand application related domains of audio, visual or haptic information.
Frames captured by the camera are taken as input. After processing those frames, system
will recognize the valid movements of hand or trackpen. In case of trackpen, blue colored LED is
tracked and its mapped coordinates are sent to mouse function of system. And in case of hand
gestures difference between two consecutive frames is calculated and binary image is generated out
of it, which gives the region of pixels in motion. Depending on the type of motion, desired task is
done. Block diagram of proposed system is given below.
DESIRED TASK
GESTURES/
TRACKPEN CAMERA SYSTEM
1.2 Features
Allows users to interact with computer in a natural way.
Multi sketch allows to draw multi user at a time.
Data transfer allows easy data transfer to Bluetooth device.
Track pen can be used as pointing device instead of mouse.
The main aim of our project is to simplify the use of computer. In this project we are
making input device more human friendly, so that it is more intuitive to use. This prototype can be
used in Gaming, 3D modelling, Personal computers, Presentations etc..
1.4 Limitation
Does not work in absence of light or dim light.
Hand gestures of the user should match the gestures which are fed to the software in code.
User should operate within limited area in front of the camera.
Control on the virtual mouse should not be affected if another hand appears within the range
of the camera.
DESIRED TASK
GESTURES/
TRACKPEN CAMERA SYSTEM
Blue LED 3V 3V
Red LED
10kΩ 10kΩ
Blue LED’s
switch
Blue LED
Red LED
Red LED’s
switch
validity gesture
Valid gesture
Graphical
editor window
Valid gesture
Select option
Draw using tracking pen
rectangle Other
Circle Line
Draw selected
option
window
display
Monitor
Gesture info
Gesture
recognition
gestures
gestures
gestures
Colour 2
Colour 1 Colour 3
Painting
window Save painting
Select to save
display
display saved painting
Monitor
User
Select a file
by using track pen
Data
Transfer
Mobile in front
Of camera
Transfer from
computer
Mobile
PC suite
From PC suite
To mobile
3.3 Algorithms
3.3.1 Algorithm for Graphical Editor
Begin(graphical editor){
frameNo=0;
trackPEN=false;
while(true){
srcImage=getNextImage();
trackPEN=isTrackingTrackPEN(sourceImage);
if(trackPEN)
trackTheTrackPEN(sourceImage)
else{
diffImage=frameDifference(sourceImage);
identify those pixels which are moving in diffImage and put them in binaryImage.
if(frameNo%3==0)
recogniseGesture(binaryImage);
}
frameNo++;
}//end while( true );
}
end //graphical editor
}//end
void trackTheTrackPEN(IplImage*sourceImage){
the blue color led is being tracked;
assign the x and y co-ordinates of this led to the mouse co-ordinates;
now in the vicinity of point(x,y) search for red led
if( found )
execute left click operation of mouse
}//end trackTheTrackPEN
IplImage*frameDifference(IplImage*sourceImage){
if(frameNo==1 )
tempImage=sourceImage;
else{
calculate the frame difference between tempImageand sourceImage;
put this difference in diffImage;
}
return DiffImage;
}
Begin(multisketch){
Create new image called DrawImage
while(true){
sourceImage=getnextImage();
search for Red,Blue,Greencolours in the sourceImage;
get the co-ordinates of each color;
draw with these colors and co-ordinates in the DrawImage
}//end while
}
end //multisketch
The main data structures used are IplImage, CvScalar and CvSize
IplImage
typedefstruct _IplImage{
intnSize;
int ID;
intnChannels;
intalphaChannel;
int depth;
char colorModel[4];
char channelSeq[4];
intdataOrder;
int origin;
int align;
int width;
int height;
struct _IplROI *roi;
struct _IplImage *maskROI;
void *imageId;
struct _IplTileInfo *tileInfo;
intimageSize;
char *imageData;
intwidthStep;
intBorderMode[4];
intBorderConst[4];
char *imageDataOrigin;
}
IplImage;
CvScalar
A container for 1-,2-,3- or 4-tuples of doubles.
typedefstructCvScalar{
double val[4];
}
CvScalar;
CvSize
Pixel-accurate size of a rectangle.
typedefstructCvSize{
int width;
int height;
}
CvSize;
4.2 Outputs
Frame1
Frame2
5.1 Conclusion
This is project may lead to the new era of interaction between human and computers.
Handling computer will be very easy, user can handle computer in natural way without using
traditional mouse and keyboard in the fields like 3D modeling, gaming etc.
Especially for children, learning of computer becomes very joyful, interesting and easy.
In the field of gaming they can play games in a natural way, as they play with other humans. So this
project will be helpful in the coming future.
Chapter 6 REFERENCES
Chapter 7 APPENDIX
OpenCV 2.10
OpenCV means Open Source Computer Vision Library. It is a collection of C functions and
a few C++ classes that implement many popular Image Processing and Computer Vision
algorithms.