With the advent of mobile handsets, many people have stopped wearing watches. The reason is that watches in mobile handsets give far more facilities than the actual ones which we wear on the wrist. People see no benefit in paying for a watch to burden their wrists.
However one thing is very surprising. People still tend to use calculators. Big Calculators are used especially at workplaces. For many people especially in workplaces calculator is nothing but an extension of their body. When we have excel format which is much more convenient, easy to use and has a bigger and better display what is the point in using calculators? A few advantages of Microsoft Excel in comparison to conventional calculators are:-
Editing Facility:- When you mistype a number, you can always edit or replace without any difficulty whereas in calculators editing and replacing is very tedious and irritating and one which requires lot of patience. The chances of your data getting erased are more, especially when you are in a hurry.
Easy to type:- If you are adding about 100 numbers at a time, typing those 100 numbers is easier in excel. Typing in a computer is always easier compared with a calculators. A feather touch will do while typing on a computer, but with a calculator you have to bang in hard. Therefore typing in excel saves you energy and time.
Comparing:- When you are required to add about 100 numbers, the possibility of committing mistakes by wrong typing like multiple entries of the same number or missing out some numbers are more. With Excel you also get an additional option of easily comparing whether the numbers typed are right Correction therefore becomes very easy in excel.
Copying Facility:- When few numbers are identical, you can always copy. Wherever digits of some numbers are being close to identical, you can copy and edit instead of typing the entire digits.. This is a great facility in Excel which you cannot find in a calculator.
Excel takes care of Output :- You need not waste a single ounce of energy for getting output from excel. Formulas take care of your multiplication, subtractions, division and averages. Your only work is feeding in data as you are not required to press any button like plus, minus or into.
Find Facility:- The Find or Search Facility ensures that you can even find a single number out of 500 plus numbers in a fraction of a second to find out whether you have entered the number or missed it. With calculator you have to spend hours searching out to find out a number is entered or not.
Saving Data:- You have the option of saving numbers in Excel which is not available in routine calculators. This also gives the flexibility of doing work at your convenience. If you have to add up 500 numbers, you can do the same in 5 or 6 attempts of typing 80 numbers at a time.. In a calculator you are required to block your concentration and energy levels, till you finish typing all those 500 numbers. In today's world time is the most important thing as a person finds it difficult to sit in a place for even 5 minutes and saving data ensures that you need not block your time unnecessarily.
Finishing unfinished data at a place convenient to you:- Excel also gives you the option of copying the data into a device and fishing of your balance task at your home, internet parlor or laptop.
If one looks at the above mentioned books, there is no point in wasting our time and energy using calculators. Excel is the new calculator. Excel is easy, fast, comfortable and convenient.
Regards
Satish.
INTRODUCTION
The project is based on “GAME PUZZLE”. In modern civilization has become so complicated and sophisticated that to survive one has to be competitive. This compiles the people to be acquainted with all type of happening in the society; mankind is surrounded with a vast amount of data available. Modern business management system has also rendered in a fashion so that it can be utilized with minimum possible time. Paper files require a high amount of storage space and storage creates several other problems like fire risk, spoilage and deterioration by way of aging humidity etc. Computerization of documents and the files has solved this problem to create extent. Not only this, but it has to be high amount of relaxation to human mind, as everything can be automated. Now the documents can in a number of ways, styles and number of documents can be created as and when required without making any mistakes.
The suitable of computerization for an application may be determined as follows:
Volume of storage and calculation: Computerization is best suited to handle large volume of data. The sufficient, economic and reliable storage characteristic of computer media must be exploited properly.
Quality of Output: Quality of output in terms of accuracy, elegance of output, aesthetics in formality through use of word processing and powerful editing could justify use of a computer.
Computerized solutions should be cost justifiable: Money, time saving and efficiency justify the cost of preparing writing and executing a program, Now-computer devices such as calculator can perform money tasks more economically.
PROBLEM DEFINITION
The institute currently operates under a manual system of conducting exams of students. The primary function of the staff is to file and retrieve the information regarding the students, tests and tests type, performance reports of every student in different subjects, and to maintain batch records.
There are the five major areas in which the manual system affects costs:
- Slow retrieval time results
- The system is labor and space intensive
- The manual system produces a risk of missing files
- There is a lack of confidently.
- No back up exists to support disaster recover.
The volume of paper is one of the things that stand in the way of increasing productivity in institute.
Document retrieval Costs Because batches are rarely cross referenced, the staff might have to look under several headings to locate pertinent data. Even if the staff is conscientious about filling methods, locating documents is still a labor and cost intensive operation.
Value of missing information Combined with the typical lost document static’s reviewed above, one could estimate the industry average cost of not having the document’s information when needed. But to obtain first hand actual data for as software organization. This company decided to measure that actual dollar value of lost information. Over a two week period, the file staff filled out a form for each request to retrieve a document from the storage rooms. The data collected documented the total number of filed requested and the results of each request. Maintaining Registers is Costly Traditionally, documents have been stored in batches and then filed in the cabinets and boxes. A numerical system is then assigned. Specially a batch number assigned to organize the files. Operative notes are classified alphabetically.
Listed below are the cost elements in our paper based filling system:
Labor: Creating new files, labeling, applying batch header sheets to file into the system, collating and entering information into a batch log book.
Supplies: File folders, dividers, folder labels, batch header sheets, requisitions slips, file logs and filling boxes.
Equipment: File cabinets and shelving units
Drawbacks of the Existing System
- Due to large of data a lot of complexities are involved in maintaining, updating and retrieving selected information, since old system is totally maintained manually, some of the complexities involved in existing system is as follows:
- Redundancy of data: In the existing system, all data is maintained in different files and registers. This often leads to considerable duplication of data and redundancy.
- Difficulty in Updating the Data: Problem of updating data in the existing systems since everything is stored in registered and files. It is very difficult and time consuming to update data
- Delay in retrieving information: Retrieving information is quite time consuming process because of large volume of data. If it is required to locate a particular record, a large number of registers have to be scanned.
- Problem or keeping the data: As the data is voluminous, more space is required to store it. Also, everything is stored on papers, so this type of storage is more prone to damage with time and due to other accidental factors.
- No Integration of Relation between data: Present system does not support any type of data integrity.
- Not Informative: It is very difficult to get up to date information in the existing system. If any information is required for any specific purpose. All the sorting to be done manually and the needs to be reentered at some other place
PROJECT OVERVIEW
This a Game Puzzle software, using Java, Swing and AWT. This project does the basic operation of a game puzzle.
In this project all the frames are designed in Swing. Today most programmers use Swing. Swing is a set of classes that provides more powerful and flexible GUI components than does the AWT. Swing provides the look and feel of the modern Java GUI.
Swing did not exist in the early days of Java. Rather, it was a response to deficiencies present in Java’s original GUI subsystem: the Abstract Window Toolkit. The AWT defines a basic set of controls, windows, and dialog boxes that support a usable, but limited graphical interface.
PROJECT PLANS
Team Structure
Team Will be comprising of two members.
- Our very able and helpful project guide Mr. Vivek Sood.
- Surbhi Bansal (Trainee), Chitkara Institute of Engineering & Technology ,Jansla(Pb).
Development Schedule
The work in developing the new system commented immediately with our first meeting with the management and users thereafter we were in continuous touch with the management and users of the company.
Phases Involved in the development of the system
- Identify needs and benefits
- Held meetings with the management and user
- Studied and identified the existing system.
- Identify needs and project constraints
- Established project statements
- Prepared a detailed report of the existing system at work.
- Prepare the software requirement specifications .
- Actual coding started
Puzzle Game snap Shot
Coding Of Puzzle Game in java
import java.io.*;
import java.lang.*;
import java.awt.Graphics;
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.lang.String;
import javax.swing.*;
public class game_puzzle extends JApplet implements ActionListener, KeyListener
{
private MyButton[] button;
private JLabel label1,label2,label3,label4;
private JTextField textf1,textf2;
private String[] Strbutton={
"7","8","4","3","6","1","2","5"," ","Start","Restart","Finish"};
private String[] Strbutton1={
"1","2","3","4","5","6","7","8"," "};
private int click_count;// Counts the number of clicks by the player.
GridBagLayout grid = new GridBagLayout();
GridBagConstraints gbc1 = new
GridBagConstraints();
JPanel pan1,pan2;
String str1="";
public void init()// To initialise different variables.
{
label1 = new JLabel("Puzzle"); //Initialising the labels.
label1.setFont(new Font("Times Roman" , Font.BOLD,20));
label1.setForeground(Color.blue);
label2=new JLabel("Name of the Player");
label2.setFont(new Font("Times Roman" ,Font.BOLD,15));
label2.setForeground(Color.blue);
label3=new JLabel("Number of the Clicks");
label3.setFont(new Font("Times Roman",Font.BOLD,15));
label3.setForeground(Color.blue);
label4=new JLabel ( " ");
button =new MyButton[12];
for(int i=0;i<12;i++)//Creating the advanced buttons like sin & cos & arcsin etc.
{
button[i]= new MyButton ( Strbutton[i],Color.black);
button[i].addActionListener(this);
}
textf1=new JTextField(20);
textf2=new JTextField(20);
textf1.setFont(new Font("Times Roman",Font.BOLD,12));
textf2.setFont(new Font("Times Roman",Font.BOLD,12));
textf1.setText("");
textf1.addKeyListener(this);
textf2.setText("");
click_count=0;//Initialise the clicks to zero.
displayPanel();// Method displayPanel() //is invoked.
} //End of init() method.
class MyButton extends JButton
{
public MyButton(String name, Color xyz)
{
this.setLabel(name);
this.setForeground(xyz);
}
class MouseCalcButtonAdapter extends MouseAdapter
{
public void mouseEntered(MouseEvent me){}
public void mouseExited(MouseEvent me){}
}
}
public void keyTyped(KeyEvent e)//Denotes a key press followed by a key release.
{
char ch;
ch=e.getKeyChar();
str1 = str1 + ch;
}
public void keyPressed(KeyEvent e)//Indicates a key is pushed down.
{
}
public void keyReleased(KeyEvent e)//Indicates a key is Released.
{
}
public void actionPerformed(ActionEvent ae) //Provide the functioning to the game.
{
int index=8,i;
String str,temp,count;
boolean check;
for(i=0;i<9;i++)
{
if(button[i].getLabel()==" ")
index=i;// For checking which button contains the blank label.
}
if(ae.getSource()==button[9])// For enabling the button after the button start is clicked.
{
for(int j=0;j<=8;j++)
button[j].setEnabled(true);
button[9].setEnabled(false); //Disable the start button.
}
if(ae.getSource()==button[10])
//Restart button.
{
for(i=0;i<9;i++)
{
button[i].setEnabled(true);
button[i].setLabel(Strbutton[i]);
}
click_count=0;
textf2.setText("0");
}
if((ae.getSource() != button[9]) || (ae.getSource() != button[10]) )
{
check=checkStatus();
if(check==false)// Check whether the number is arranged in the correct order.
{
if (ae.getSource() == button[0])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==1||index==3)
{
str=button[0].getLabel();
button[0].setLabel(" ");
button[index].setLabel (str);
}
}
if (ae.getSource()== button[1])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==0|| index==4 ||index==2)
{
str=button[1].getLabel();
button[1].setLabel (" ");
button[index]. setLabel(str);
}
}
if (ae.getSource()== button[2])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==1||index==5)
{
str=button[2]. getLabel();
button[2].setLabel(" ");
button[index]. setLabel(str);
}
}
if (ae.getSource()== button[3])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==0||index==4 ||index==6)
{
str=button[3].getLabel();
button[3].setLabel(" ");
button[index].setLabel(str);
}
}
if (ae.getSource()==button[4])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==1||index==3 ||index==5||index==7)
{
str=button[4]. getLabel();
button[4].setLabel(" ");
button[index].setLabel(str);
}
}
if (ae.getSource()==button[5])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==2||index==4 ||index==8)
{
str=button[5]. getLabel();
button[5].setLabel(" ");
button[index].setLabel(str);
}
}
if (ae.getSource()==button[6])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==3||index==7)
{
str=button[6].getLabel();
button[6].setLabel(" ");
button[index].setLabel(str);
}
}
if (ae.getSource()==button[7])
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==6||index==4 ||index==8)
{
str=button[7]. getLabel();
button[7].setLabel(" ");
button[index].setLabel(str);
}
}
if (ae.getSource()==button[8])//Exit button.
{
count=Integer.toString(countClicks());
textf2.setText(count);
if (index==5||index==7)
{
str=button[8]. getLabel();
button[8].setLabel(" ");
button[index]. setLabel(str);
}
}
if(ae.getSource()==button[10])
//Restart button.
{
for(i=0;i<9;i++)
{
button[i].setEnabled(true);
button[i].setLabel(Strbutton[i]);
}
click_count=0;
textf2.setText("0");
}
if (ae.getSource()==button[11])
//Finish button.
{
for(i=0;i<=8;i++)
{
button[i].setLabel (Strbutton1[i]);
}
click_count=0;
textf2.setText("0");
button[11].setEnabled(false);
button[10].setEnabled(false);
}
}
else//If the game is completed.
{
String st = str1 + ", you have won the game.";
for (int j=0;j<=8;j++)
button[j].setEnabled(false);
JOptionPane.showMessageDialog(null,st);
}
}
}//End of actionPerformed() method.
void displayPanel()// Designing the layout.
{
JPanel pa4 = new JPanel();
pan1 = new JPanel(); // Creating the main panel on which all the component will be placed.
// Setting the colour for the interface.
pan1.setLayout(grid); // Setting the layout as grid bag layout.
gbc1.weightx = 100;
gbc1.weighty = 100;
gbc1.ipady = 0; //Height of Component.
gbc1.ipadx = 0; //Width of Component.
gbc1.gridwidth =1;
gbc1.gridheight=1;
gbc1.gridx = 0;
gbc1.gridy = 0;
grid.setConstraints(label1, gbc1);
pan1.add(label1);// Attaching the label //label1 on the panel pan1.
gbc1.weightx=100;
gbc1.weighty = 100;
gbc1.ipady = 5;//Height of Component.
gbc1.ipadx = 5; //Width of Component.
gbc1.gridwidth =1;
gbc1.gridheight=1;
gbc1.gridx = 1;
gbc1.gridy = 0;
grid.setConstraints(button[9], gbc1);
pan1.add(button[9]);
gbc1.weightx=100;
gbc1.weighty = 100;//Vertical Space.
gbc1.ipady = 0; //Height of Component.
gbc1.ipadx = 0;
gbc1.gridwidth =1;
gbc1.gridheight=2;
gbc1.gridx = 0;
gbc1.gridy = 2;
grid.setConstraints(label2, gbc1);
pan1.add(label2);
gbc1.weightx=100;
gbc1.weighty = 100;
gbc1.ipady = 0;
gbc1.ipadx = 0;
gbc1.gridwidth =1;
gbc1.gridheight=2;
gbc1.gridx = 1;
gbc1.gridy = 2;
grid.setConstraints(textf1, gbc1);
pan1.add(textf1);
gbc1.weightx = 100;
gbc1.weighty = 100;
gbc1.ipady = 0;
gbc1.ipadx = 0;
gbc1.gridwidth =1 ;
gbc1.gridheight=2;
gbc1.gridx = 0;
gbc1.gridy = 4;
pa4.setLayout(new GridLayout(3,3,5,5));
for(int i=0;i<9;i++)
{
pa4.add(button[i]);
button[i].setEnabled(false);
}
grid.setConstraints(pa4, gbc1);
pan1.add(pa4);
gbc1.weightx=100;
gbc1.weighty=100;
gbc1.ipady = 0;
gbc1.ipadx = 0;
gbc1.gridwidth =1;
gbc1.gridheight=1;
gbc1.gridx = 0;
gbc1.gridy = 6;
grid.setConstraints(label3, gbc1);
pan1.add(label3);
gbc1.ipady = 0;
gbc1.ipadx = 0;
gbc1.weightx = 100;
gbc1.weighty = 100;
gbc1.gridwidth =1 ;
gbc1.gridheight=1;
gbc1.gridx = 1;
gbc1.gridy = 6;
grid.setConstraints(textf2, gbc1);
pan1.add(textf2);
gbc1.ipady = 5;
gbc1.ipadx = 5;
gbc1.weighty = 100;
gbc1.weightx = 100;
gbc1.gridwidth =1;
gbc1.gridheight=1;
gbc1.gridx = 0;
gbc1.gridy = 7;
grid.setConstraints(button[10], gbc1);
pan1.add(button[10]);
gbc1.ipady = 5;
gbc1.ipadx = 5;
gbc1.weighty = 100;
gbc1.weightx = 100;
gbc1.gridwidth =1;
gbc1.gridheight=1;
gbc1.gridx = 1;
gbc1.gridy = 7;
grid.setConstraints(button[11], gbc1);
pan1.add(button[11]);
gbc1.ipady = 0;
gbc1.ipadx = 0;
gbc1.weighty = 100;
gbc1.weightx = 100;
gbc1.gridwidth =1;
gbc1.gridheight=1;
gbc1.gridx = 0;
gbc1.gridy = 8;
grid.setConstraints(label4, gbc1);
pan1.add(label4);
gbc1.ipady = 5;
gbc1.ipadx = 5;
getContentPane().add(pan1);
}// End of the method displayPanel().
public int countClicks()// For incrementing the clicks counter.
{
return(++click_count);
}//End countClicks() method.
public boolean checkStatus()// To check the game is finish or not.
{
int i;
if (button[0].getLabel() == "1" &&
button[1].getLabel() == "2"&&
button[2].getLabel() == "3" &&
button[3].getLabel() == "4"&&
button[4].getLabel() == "5" &&
button[5].getLabel() == "6"&&
button[6].getLabel() == "7" &&
button[7].getLabel() == "8"&&
button[8].getLabel() == " ")
{
return(true);
}
else
return(false);
}//End checkStatus() method.
} // End of game_puzzle class.
Selenium IDE is an automated testing tool which can be used to create automated scripts to test the web application more faster. Below is how a selenium script can be created and executed.
1. Above snapshot is the basic layout of selenium IDE. In above snapshot, red colored round button is nothing but Recorder button. By keeping the recorder button as ON, we can record name of textboxes, radio button, text typed in textbox into screen below it. This is detailed in snapshots below. You can see the text box of Base URL, containing URL. You can give URL of your web application so that scripts will test on your application.
2. In above snapshot, drop down for Command shows various commands which you can use while creating scripts.These are default commands which comes with Selenium IDE. In order to get more commands, especially javascript commands, you need to download corresponding extension files and upload in IDE.
3. Above snapshot tells that IDE is recording actions taken on www.google.co.in. Note that in order to record actions, red colored circle button needs to be ON as shown in above snapshot. In above snapshot, as "google" is typed in the textbox of google.com website, 2 commands are automatically recorded i.e. open and type. open command opens the URL placed in Base URL and type command identifies what text is typed in which text box alongwith the name of that text box. Here, name of text box on google.com is "sf".
4. Similarly, button whose name is "Google Search" in display, has actual name as "btnG". As this button was clicked, click command was automatically traced by IDE. And now, save the script. Always remember to save the script with .html as extension. Here, script was saved as script.html.
5. Now for execution of the script, Make the recorder button as OFF. Click Execute button as shown in above snapshot. After execution, result looks some thing like shown below.
I came across a Free Anti Virus software few days back. I installed it in my machine and it is running. So i just thought of sharing it with you.
The name of the software is AVG Anti Virus Free. Go to the website www.freewarefiles.com and you can find this software in the list Software Categories -> Antivirus.
Main features of this software are :
Anti Virus
This part of the software protects your computer from viruses ans worms.
Anti Spyware
This part of the software protects your computer from adware, spyware and other harmful programs.
E-mail scanner
This part of the software protects your computer from incoming and outgoing mails.
( Note : Iam not sure about how this part works. Whether it checks POP3 mails or yahoo,gmail or both ?)
Resident Shield
This part of the software protects your computer from the files that you are working with.
Update Manager
This part of the software downloads the latest version of the software as and when.
1.Scheduled scan :
1. You can do scheduled scan of all the files in your computer. For this ( after the AVG software is installed ) go to menu Tools -> Advanced settings.
2. Choose the drop down tree Schedules.
3. Click the branch named Scheduled scan.
4. You can see three tabs Schedule settings, How to scan, What to scan.
1.1. Schedule settings :
Here you have the option of when you want to scan your files. Please see the image below.
1.2. How to scan:
Here you have the options for whether if a virus is found , it has to be repaired or not.
1.3. What to scan:
Here you have options for the files to scan.Whether you want to scan the whole system,whole drive or particular folder.
1.4.Scan Results:
You can view the results of the scheduled scan by clicking the menu History -> Scan results.
Still there are many other settings for Email scanner, Updates, Resident shield etc are available which you can explore.
As told in my previous article Pattern Recognition,
Pattern recognition is "the act of taking in raw data and taking an action based on the category of the data". It aims to classify data (patterns) based either on a priori knowledge or on statistical information extracted from the patterns. The patterns to be classified are usually groups of measurements or observations, defining points in an appropriate multidimensional space.
Hence various data(patterns) constitute a dataset and every pattern has some features.The number of features to be picked is totally on the user or the programmer who is working on these patterns.
Saying about me,I'm a Bachelor of Technology student in Information Technology and currently in my final year of engineering.So as a part of my degree,I'm currently doing a project on Pattern Recognition Using Neural Networks which consists of 3 parts:-
1.Face Recognition using Eigenface Approach.
2.Iris Recognition using Hamming Distances.
3.Fingerprint Recognition using Directional Filter Bank Technique.
In this article(this is actually the report which I will be submitting next year to my college authorities),I will explain about the first point, that is,Face Recognition using Eigenface Approach in details. And for other two points you have to wait for my next articles.
So I would like to introduce you to some of the principles behind face recognition. Currently there are a several methods to achieve face recognition. Among them we have the neural network approach, the statistical approach - primarily based on histograms, the multiresolutional approach, the information theory approach, and the eigenface approach.
I would be focusing on the Eigenface approach. This method was originally suggested by Alex P. Pentland and Matthew A. Turk from MIT in 1991. This method consist on weighting the difference between a given face image and a mean image, which is obtained by averaging a predefined set of faces. The training set is a group of face images from which the mean face is calculated. Face recognition takes place by linearly projecting the image to a low dimensional image space and weighting the difference with respect to a set of eigenvectors. If the difference (weight) is bellow certain threshold, the image is recognized as a known face; otherwise, the face can be classified as an unknown face, or not a face at all.
Some of the limiting factors of this approach are the background, difference in illumination, imaged head size, and head orientation. To solve some of these problems we could identify the location of the head and zoom until we observe most of the face. We could also set the camera's lighting based on the time of the day.
Details of Eigenface Approach
The set of images is used to create our eigen space for face recognition. The goal of this tutorial is to apply the eigenface approach to recognize someone's face. The overall problem is to be able to accurately recognize a person's identity and take some action based on the outcome of the recognition process. Recognize a person's identity is important mainly for security reason, but it could also be used to obtain quick access to medical, criminal, or any type of records. Solving this problem is important because it could allow personnel to take preventive action action, provide better service - in the case of a doctors appointment, or allow a person access to a secure area. This project will show you how to build a face recognition program using MATLAB.
The rest of the project is presented as follows:
- Parts List and Sources
- Construction
- Programming Concept
- Conclusion
Parts List and Sources
To complete this project, you'll need MATLAB version 6.1 or higher.
You can download it from www.mathworks.com .
Note:- It is not a free software but if you are an engineering student then consult your college. Your college must be having this software.
Construction
This section gives step-by-step instructions along with photos and formulas on how to recognize faces and implemented into MATLAB.
Steps
1. The first step is to obtain a set S with M face images. In our example M = 25 as shown at the beginning of the project. Each image is transformed into a vector of size N and placed into the set.
2. After you have obtained your set, you will obtain the mean image.
3. Then you will find the difference Φ between the input image and the mean image.
4. Next we seek a set of M orthonormal vectors, un, which best describes the distribution of the data.
5. Then we obtain the covariance matrix C.
6. Then we find the eigen vectors.
Recognition Procedure
1. A new face is transformed into its eigenface components. First we compare our input image with our mean image and multiply their difference with each eigenvector of the L matrix. Each value would represent a weight and would be saved on a vector Ω.
2. We now determine which face class provides the best description for the input image. This is done by minimizing the Euclidean distance.
3. The input face is consider to belong to a class if εk is bellow an established threshold θε. Then the face image is considered to be a known face. If the difference is above the given threshold, but bellow a second threshold, the image can be determined as a unknown face. If the input image is above these two thresholds, the image is determined NOT to be a face.
4. If the image is found to be an unknown face, you could decide whether or not you want to add the image to your training set for future recognitions. You would have to repeat steps 1 trough 7 to incorporate this new face image.
Programming Concept
This algorithm works in the following manner: First, it obtains several images from the training set
(figure 1). The code was been tested using png,bmp and jpg images. After loading these images, we find the mean face and perform several calculations. Next, we ask for the name of an image we want to recognize (note: the image must have the same size as the training images). We then project the input image into the eigenspace, and based on the difference from the eigenfaces we make a decision.
Conclusion
This Eigenface algorithm works well. In most of the cases this algorithm has provided 95-100% accuracy. But still it is necessary to normalize the images and use some filtering techniques to obtain better results.
So my dear friends if you are interested in this project and want the full source code, that is, MATLAB code for face recognition using Eigenface algorithm, do post your demands in the comments or email me at:
I will provide the source code for free and if the demand is more, I will post the source code and its results in my next article.
Regards.
Karan Kumar Jaiswal
More Articles …
Page 30 of 46