Name-Ashwin Kumar
Course-B-Tech (Electronic and Communication Engineering)
Passing Year-2019
College-NIT, Patna
Mob-9006797862
[email protected]1.Handwritten Character Recognition Using Neural Networks
In This project I made hand written character recognition Using Neural network in MATALAB in
which I used supervised learning algorithm. I take data set and feeding into network 80% data set
for training and 20 % data for testing. during the testing we convert images, RGB to Gray and Gray
to binary so that image features reduces in only 1 and 0 .During image segmentation we rectangulise
all the images separately and corresponding to that level we have image set data in which
probability is highest that will be output character. This system recognize only capital and numeric
letter. Code explanation is given below. This Block diagram show the process evolving during
character recognition.
**********************************************************************************
close all
clear
clc
addpath(genpath('C:\Users\Ashwin\Documents\MATLAB\MiniProject\testImages'))
load('network.mat');
%% Input Image
imagePath = fullfile('testImages','ashwin.png');
originalImage = imread(imagePath);
% Showing Original image
imshow(originalImage);
title('Original Image');
% Conversion to grayScale image
grayImage = rgb2gray(originalImage);
% Conversion to binary image
threshold = graythresh(grayImage);
binaryImage = ~im2bw(grayImage,threshold);
% Removes all object containing fewer than 30 pixels
moddedImage = bwareaopen(binaryImage,30);
pause(1)
% Showing binary image
figure(2);
imshow(moddedImage);
title('Modified Image');
% Labelling connected components
[L,Ne] = bwlabel(moddedImage);
% Measuring properties of image regions
propied = regionprops(L,'BoundingBox');
hold on
% Plot Bounding Box
for n=1:size(propied,1)
rectangle('Position',propied(n).BoundingBox,'EdgeColor','g','LineWidth',2)
end
hold off
pause (1)
%% Image Segmentation
for n=1:Ne
[r,c] = find(L==n);
n1 = moddedImage(min(r):max(r),min(c):max(c));
n1 = imresize(n1,[128 128]);
n1 = imgaussfilt(double(n1),1);
n1 = padarray(imresize(n1,[20 20],'bicubic'),[4 4],0,'both');
fullFileName = fullfile('segmentedImages', sprintf('image%d.png', n));
imwrite(n1, fullFileName);
pause(1)
end
%% Feeding to Neural Network and Detected Text
for i=1:Ne
segImage=reshape(double(imread(fullfile('segmentedImages', sprintf('image%d.png', i)))) , 784, 1);
outputMatrix=net(segImage);
row=find(ismember(outputMatrix, max(outputMatrix(:))));
character = double(imread(fullfile('segmentedImages', sprintf('image%d.png', i))));
detectedWord(1,i)=imageLabeler(row);
end
disp('Detected Text: ')
disp(detectedWord)
2.PASSWORD PROTECTED DOOR LOCK SYSTEM
In this project I designed “password protected door lock system using Arduino board . In this system
I designed to set first time password for user as private key for door and when now user again gives
the password it accessed if password is correct or denied if password is wrong and a hooter will
arise. For this system I made hardware also where mainly I used mainly LCD(32*2),Arduino
Board,keypad,leds,speaker,resistance,capacitor,potentiometer,power supply 5v&9v,Arduino IDE.I
also designed it on proteus for circuit simulation and for hardware I did pcb designing on Eagle cad.
Circuit Diagram on proteus .
**********************************************************************************
#include <LiquidCrystal.h>
#include <Keypad.h>
char data[8];
int i=0,t=4,q=1;
//initialize lcd,and keypad
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const byte ROWS = 4; //four rows
const byte COLS = 3; //four columns
//define the symbols on the buttons of the keypads
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {8, 7, 6, 13}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {9, 0, 10}; //connect to the column pinouts of the keypad
//initialize an instance of class NewKeypad
Keypad kpd = Keypad( makeKeymap(keys), rowPins,colPins, ROWS, COLS );
void delet(){
lcd.setCursor(13, 1);
for(int j=4;j<8;j++)
lcd.print(data[j]=0);
void repeat()
{ lcd.setCursor(13, 1);
for(int j=4;j<8;j++)
lcd.print(data[j]);
if(i<4)
{ lcd.setCursor(8, 0);
lcd.print("SET PASSWORD");}
if(i==4)
if (q==5)
lcd.setCursor(0, 0);
lcd.print(" YOUR PASSWORD HAVE BEEN SET ");
delay(400);
delet();
delay(1000);
lcd.clear();
q++;
if (q>=6){
lcd.setCursor(4, 0);
lcd.print(" ENTER PASSWORD ");
/*==============================================================*/
if(q>7){
if(i<=9)
{
lcd.setCursor(0, 0);
// IF PASSWORD MATCHED
if(t==8){
if(data[4]==data[0]&&data[5]==data[1]&&data[6]==data[2]&&data[7]==data[3])
{delay(500);
delet();
{lcd.setCursor(4, 0);
lcd.print(" PASSWORD MATCHED ");
analogWrite(A1,1024);
delay(500);
lcd.setCursor(4, 0);
lcd.print(" ");
lcd.setCursor(4, 0);
lcd.print(" WELCOME! ");
analogWrite(A1,0);
delay(1500);
analogWrite(A1,0);
lcd.setCursor(4, 0);
lcd.print(" ");
/*==============================================================*/
if(t==8)
t=4;
/*==============================================================*/
// IF PASSWORD NOT MATCHE
if(data[4]!=0||data[5]!=0||data[6]!=0||data[7]!=0)
{ delay(500);
delet();
lcd.setCursor(0, 0);
lcd.print(" ACCESS DENIED DENIED ");
tone(A2,335);
analogWrite(A0,1024);
delay(500);
noTone(A2);
analogWrite(A0,0);
lcd.setCursor(0, 0);
lcd.print(" ");}
/*==============================================================*/
if(q==6){delet();q++; t=4;}
void setup()
Serial.begin(9600);
lcd.begin(32,2);
lcd.clear();
lcd.setCursor(2,0);
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
void loop() {
char key = kpd.getKey();
if(i<4){
if (key){
lcd.setCursor(1, 0);
data[i]=key;
// lcd.print(data[i]);
i++;
if(t>=4){
if (key){
lcd.setCursor(1, 0);
data[t]=key;
t++;
q++;
repeat();