Project Report
Project Report
Project Report
PRELIMINARY REPORT ON
SUBMITTED BY
CERTIFICATE
This is to certify that the report entitled
Submitted by
is a bonafide student of this institute and the work has been carried out by him/her
under the supervision of Prof. Jitendra Musale and it is approved for the partial
fulfillment of the requirement of Savitribai Phule Pune University, for the award
of the degree of Bachelor of Engineering (Computer Engineering).
(Dr. S. B. Thakare)
Principal
Anantrao Pawar College of Engineering Research. Pune 09
Place:Pune
Date: / /2018
ABSTRACT
This project is developed to make the life of blind people easy. Now a days there is big
problem with blind people is they are always depend on other people at the process of buying
product. There will be some of possibilities of cheating. To make them independent and they
should personally know about the all product purchased by them we are going to develop these
project. This is a camera based system to scan the barcode behind the image and read the de-
scription of the product with the help of Id stored in the barcode. This is very beneficial in case
of finding out the description of packaged goods to the blind people and thus helping them in
deciding to purchase a product. So that these project is very useful foe blind people as well as
normal people. In order to use this system, all the user needs to do is capture the image on the
product in the mobile phone which then resolves the barcode which means it scans the image to
find out the Id stored. Thus this application really benefits blind and visually impaired people
and thus making their work of identifying products easy. This is very easy to use and affordable
as it requires a scanner to scan the barcode and a camera phone to take the picture of the image
containing the barcode. This is now easy to implement as most of the mobile phones today have
the required resolution in order to scan the barcode to identify the Id stored in it and read out
the product description. This project can be implemented in any shopping mall, supermarket,
Book stores, Medical stores etc
i
ACKNOWLEDGEMENT
I express my gratitude to Prof.Manoj Mulik (HOD Computer Engg. Dept.) and Prof. Dr.
S. B. Thakare (Principal) for their kind help and cooperation. I am highly obliged to the entire
staff of the Computer Engineering Department for their kind cooperation and help.
I also take this opportunity to thank my friends and family, who backed my interest by
giving useful suggestions and all possible help.
ii
List of Figures
iii
List of Tables
iv
Contents
Abstract i
Acknowledgment ii
List of Tables iv
1 INTRODUCTION 1
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Literature Survey 3
4 System Design 19
4.1 System Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 E-R Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.3 Data Flow Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 DFD Level 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.5 DFD Level 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.6 Sequence Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.7 Use Case diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.8 Class Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
v
4.9 Component Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Other Specification 29
5.1 Advantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
vi
CHAPTER 1
INTRODUCTION
This project is developed to make the life of blind people easy. This is a camera based system
to scan the barcode behind the image and read the description of the product with the help
of Id stored in the barcode. This is very beneficial in case of finding out the description of
packaged goods to the blind people and thus helping them in deciding to purchase a product or
not especially which are packaged. This is because it becomes very difficult for the blind people
to distinguish between the packaged goods. In order to use this system, all the user needs to do
is capture the image on the product in the mobile phone which then resolves the barcode which
means it scans the image to find out the Id stored. Thus this application really benefits blind
and visually impaired people and thus making their work of identifying products easy. This is
very easy to use and affordable as it requires a scanner to scan the barcode and a camera phone
to take the picture of the image containing the barcode. This is now easy to implement as most
of the mobile phones today have the required resolution in order to scan the barcode to identify
the Id stored in it and read out the product description. This project can be implemented in any
shopping mall, supermarket, Book stores, Medical stores etc.
1.1 Motivation
• To implement a system with android application, which can provide the product informa-
tion after barcode reading process.
• To implement the system using cloud data servers, which can available for end users
24*7.
• To implement the REST full services data connectivity which can eliminate the data in-
consistency.
• To implement the platform independent application that can work in all environments.
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning
Literature Survey
There are 314 million visually impaired people worldwide, of those 45 million are blind accord-
ing to a report released by World Health Organization in 10 facts regarding blindness. Reading
is obviously essential in todays society. Developments in computer vision technologies are
focusing on assisting these individuals. So the basic idea is to develop a camera based device
which combines computer vision technology, to help the blind identify and understand the prod-
ucts they buy and use in their day to day life. The focus revolves around designing a portable
camera based assistive text and product label reading along with barcode recognition from hand
held objects for blind person. In the currently available systems, portable bar code readers are
designed to help blind people to identify different products in an extensive product database,
which helps the blind users to access information about these products through speech. This
system has a limitation that it is very hard for the blind users to find the position of the bar
code and to correctly point the bar code reader at the bar code. Some reading assistive systems
such as pen scanners might be employed in these and similar situations. Such systems inte-
grate OCR software to offer the function of scanning and recognition of text and some have
integrated voice output. However, these systems can be performed only for the document im-
ages with simple backgrounds, standard fonts, a small range of font sizes, and well-organized
characters rather than with multiple decorative patterns. A number of portable reading assis-
tants have been designed specifically for the visually impaired K-Reader Mobile runs on a cell
phone and allows the user to read mail, receipts, fliers, and many other documents. However,
the document to be read; must be nearly flat, placed on a clear, dark surface and contain mostly
text. In addition, K-Reader Mobile accurately reads black print on a white background, but has
problems recognizing colored text or text on a colored and complex background. Furthermore,
these systems require a blind user to manually localize areas of interest and text regions on the
objects in most cases. Even though a number of reading assistants have been designed specif-
ically for the visually impaired, no existing reading assistant can read text from the kinds of
challenging patterns and backgrounds found on many everyday commercial products such as
text information can appear in various scales, fonts, colors, and orientations. There are various
drawbacks of these existing systems like, the texts from non-uniform or complex backgrounds
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning
cannot be identified, the algorithms cannot process text strings fewer than three characters and
for the barcode recognition, only the barcode number is read and the product details cannot be
identified.
Label Text
Reading is obviously essential in todays society. Printed texts are everywhere in the form of
reports, receipts, bank statements, restaurant menus, classroom handouts, product packages, in-
structions on medicine bottles, etc. And while optical aids, video magnifiers, and screen readers
can help blind users and those with low vision to access documents, there are a few devices that
can provide good access to common hand-held objects such as product packages and objects
printed with text such as prescription medication bottles. The ability of people who are blind or
having significant visual impairments to read printed labels and product packages will enhance
independent living and foster economic and social self-sufficiency. So a system is proposed that
will be useful to blind people for the aforementioned. The system framework consists of three
functional components they are:
• Scene Capture
• Data Processing
• Audio Output
The scene capture component collects scenes containing objects of interest in the form of im-
ages; it corresponds to a camera attached to a pair of sunglasses or anywhere as per the require-
ment. The data processing component is used for deploying the proposed algorithms, including
following processes
• Object-of-interest detection to carefully extract the image of the object held by the blind
user from the clustered background or other neutral objects in the camera view.
• Text localization is to obtain text containing image regions, then text recognition to trans-
form image based text information into readable codes.
The audio output component is to inform the blind user of the recognized text codes in the form
of speech or audio. A Bluetooth earpiece with mini microphone or earpiece is employed for
speech output. Thus blind persons will be well navigated if a system can tell them what the
nearby text signage says. Blind persons will also encounter trouble in distinguishing objects
when shopping. They can receive limited hints of an object from its shape and material by
touch and smell, but miss descriptive labels printed on the object. Some reading-assistive sys-
tems, such as voice pen, might be employed in this situation.
Barcode
A barcode is an optical machine-readable representation of data relating to the object to which
it is attached. Originally barcodes systematically represents data by varying the widths and
spacings of parallel lines, and may be referred to as linear or one-dimensional (1D). Later they
evolved into rectangles, dots, hexagons and other geometric patterns in two dimensions (2D). A
barcode has several distinctive characteristics that can be used to distinguish it from the rest of
an image, the first of which is that it contains black bars against a white background. Occasion-
ally, a barcode may be printed in other colors than black and white, but the pattern of dark bars
on a light background is roughly equivalent after the image has been converted to grayscale.
Barcodes initially were scanned by special optical scanners called barcode readers. Generally,
a simple barcode has five sections. They are-number system character, three guard bars, manu-
facturer code, product code, check digit. Number system character specifies the barcode type.
Three guard bars indicate the start and end of the barcode, difference between manufacturer
code and product code. Manufacturer code has a five digit number which is assigned to the
manufacturer of the product. These codes are assigned and maintained by the Uniform Code
Council (UCC). The product code is a five digit number that the manufacturer assigns for a
particular product. Check Digit is also called as ”self-check” digits. The check digit is used to
recognize whether the other digits are read correctly.
Barcodes provide a convenient, cost-efficient, and accurate medium for data representation and
are ubiquitous in modern society. However, barcodes are not human-readable and traditional
devices for reading barcodes have not been widely adopted for personal use. This prohibits
individuals from taking advantage of the information stored in barcodes. Image processing pro-
vides possibilities for resolving the discrepancy between the availability of barcodes and the
capability to read them by enabling barcodes to be identified and read by software on general
imaging devices. Barcodes may appear in an image at any orientation or size and multiple
barcodes may be present. Additionally, complex backgrounds make picking out true barcodes
from false positives a challenging process.
Literature Review
3.1 Introduction
A Software requirements specification document describes the intended purpose, requirements
and nature of software to be developed. It also includes the yield and cost of the software.
A Software Requirements Specification (SRS) is describes the nature of a project, software or
application. In simple words, SRS is a manual of a project provided it is prepared before you
kick-start a project/application. A software document is primarily prepared for a project, soft-
ware or any kind of application.
Operating enviornment
When we boot our computer, but do you know what that means? Booting is the process
that occurs when you press the power button to turn our computer on. During this process
(which may take a minute or two), the computer does several things:
This protocol is implemented in Java language .We also use HTTP/TCP/IP protocols.
Java has had a profound effect on the Internet. The reason for this is Java expands the universe
of objects that can be about freely on the Internet. There are two types of objects we transmit
over the network, passive and dynamic.
Network programs also present serious problems in the areas of security and portabil-
ity. When we download a normal program we risk viral infection. Java provides a firewall to
overcome these problems. Java concerns about these problems by applets. By using a Java
compatible Web browser we can download Java applets without fear of viral infection.
Goal
To design products that satisfy their target users, a deeper understanding is needed of their
user characteristics and product properties in development related to unexpected problems users
face. These user characteristics encompass cognitive aspect, personality, demographics, and use
behavior. The product properties represent operational transparency, interaction density, prod-
uct importance, frequency of use and so on. This study focuses on how user characteristics and
product properties can influence whether soft usability problems occur, and if so, which types.
The study will lead to an interaction model that provides an overview of the interaction between
user characteristics, product properties, and soft usability problems.
In total three surveys and one experiment were conducted. The first survey was a question-
naire survey to explore what usability problems users experienced in the Netherlands and South
Korea. This study resulted in the categorization of soft usability problems. The second sur-
vey investigated how user characteristics are related to the occurrence of specific soft usability
problems. Finally, an experiment was conducted to find out how user characteristics are corre-
lated to specific soft usability problems depending on type of product in the USA, South Korea
and the Netherlands. Based on the findings from the studies, an interaction model (PIP model:
Product-Interaction-Persona model).
Validation
The PIP model was validated in the companies involved in the project to see how it is used
in the product development process and what should be improved. The validation also included
workshops in which designers in the companies could experience and learn how the findings
and the model and the tool are applicable to their design process.
This protocol is implemented in Java language .We also use HTTP/TCP/IP protocols.
Java has had a profound effect on the Internet. The reason for this is Java expands the
universe of objects that can be about freely on the Internet. There are two types of objects we
transmit over the network, passive and dynamic.
Network programs also present serious problems in the areas of security and portabil-
ity. When we download a normal program we risk viral infection. Java provides a firewall to
overcome these problems. Java concerns about these problems by applets. By using a Java
compatible Web browser we can download Java applets without fear of viral infection.
We assume that there are several servers and clients attached to it. User system supports TCP/IP
protocols.
The key considerations of Java are :
• Object Oriented: Java purists everything is an object paradigm. The java object model is
simple and easy to extend.
• Multithreaded: Java supports multithreaded programming which allows you to write pro-
grams that do many things simultaneously.
• Distributed: Java is designed for the distributed environment of the Internet because it
handles TCP/IP protocols.
• Reusability
• Performance
• Proper output
The proposed system involves two sections, one is reading of label text and the other is the
recognition of barcodes. The sections are two separate entities and hence involve two differ-
ent setups with different blocks. The label reading part comprises of software interfaced with
hardware, while the barcode sections consists only of the software part. Both of the sections
are predominantly based on Android where all the image processing operations occur. Image
is given as the input to both the sections and the image processing operations are carried out in
the software part. The audio output of the label reading section is given device the hardware
and for the barcode recognition, the audio output is obtained from the device , directly as the
software output.
Once the product is brought in front of the input capturing unit or the camera, a picture of the
product is taken and it is identified using the predefined pattern. A generalized pattern of the
bar code is fed into the system which acts as the predefined pattern. Preprocessing algorithms
frequently form the first processing step after capturing the image. Image preprocessing is the
technique of enhancing data images prior to computational processing. Preprocessing images
commonly involves removing low-frequency background noise, normalizing the intensity of the
individual particles images, removing reflections, and masking portions of images, conversion
of RGB into gray scale. Histogram is constructed for the preprocessed image to obtain the
foreground region. A histogram is a graphical representation of the distribution of numerical
data. It plots the number of pixels for each intensity value. Using the histogram equalization
algorithm, the maximum value of histogram is obtained. And the maximum size of the ob-
tained histogram value is determined using the size of operator. Also, a threshold value is set
with reference to the obtained maximum histogram value, which is used for further segmenta-
tion processes. Image segmentation is the process of partitioning a digital image into multiple
segments. Image segmentation is typically used to locate objects and boundaries (lines, curves,
etc.) in images. Here, we define black as 0 and white as 1 in order to identify the text region
alone from the background. But we know that both the lines as well as the barcode number
are given in black. For eliminating the lines, we check the continuity of the detected black
areas. If the value is 0 for a continuous range, then it is identified as lines and it is changed
into white using the complementing function. Thus the barcode number is alone obtained as a
string at the end of segmentation process. Using the histogram value, the image is separated
into left and right structures after segmentation. An array of numbers is introduced and then it is
compared with the obtained string. Wherever the numbers of the array and the obtained strings
match, those numbers are alone taken and concatenated. The resultant string of numbers is the
required product barcode number. The obtained result is then run through the database which
consists of preloaded information of products along with the corresponding barcodes. When
the search results match, the product is identified and its details are read out in the device.
Functions:-
ReadCode () : This function can read the data from barcode image using barcode scanner as
well as mobile camera.
Connection () : It can generate the connection between mobile and cloud data server
ReadDb () : This function first established the database connection and then read the data from
product master table.
ToConvert() :It can convert the text data into audio foam, to achive this output we use the
google translator API.
Feature Calculations
The feature calculations module of the algorithm creates 3 scanlines for scanning barcodes as
well as calculating the pixel values from the barcode intensity image in a given row to a vector.
First a Gaussian filter is implemented to smooth out the image gradient identified as the barcode
region. The gradient of the scanlines are set and validated so that the scanlines are inside the
appropriate range. Then, the mean and standard deviation of the pixel intensities are calculated
for the barcode area. The range of pixel parameters, f low and f high, for setting the color is
determined. Pixels on the scanlines are compared to the f low and f high intensity values. A
pixel is considered black if its value is less than f low, and it is considered white if its value is
f high or larger. The remaining pixels are proportionally set between white and black. Black
pixels are set to 1 and white pixels are set to -1. From the calculations, the vector of pixels from
the scanlines is inputted to the barcode recognition. The scan lines are also sent to display to be
added to the real time image.
Barcode Recognition
The barcode recognition module consists of three parts: bar detection, barcode detection, and a
barcode comparison block. The bar detection block detects bars from the barcode feature signal.
First, it tries to identify a black bar, if it is not there, then the first bar has zero width. If there is
a black bar, then it calculates the pixels of the black bar. For the white bars, it does the same.
After the bar detections, the barcode detection begins with the beginning bars and calculates all
the possible values of barcode values that may form a valid string with all the possible separa-
tors. This function returns sequence of indices to barcode guard bars. The barcode comparison
block takes in the codebook for all the encoded GTIN 13 barcode values. It also reverses it for
determining the last 6 digits of the GTIN 13 barcode. The barcode recognition block takes in
the barcodes and tries to match up the barcode with the numbers of pixels generated from the
bar detection. In order to ensure better accuracy, the values are calculated from the left to right
and right to left. The normalized confidence is calculated. The barcode recognition block set
returns the barcode and the normalized confidence.
Barcode Validation
In the barcode validation stage of the algorithm, the simple calculation is used to determine
whether the barcode is valid or not. It is calculated by taking the even elements and multiplying
them by three. Then, add the sum of the odd elements with the sum of the even elements. Take
10 mod the sum and subtract 10. If the answer is the same as the check digit, which is the last
digit, then the barcode is valid. This validation along with a confidence level higher than the
threshold allows the barcode to be displayed on the screen.
Display
The display adds the scan-lines to the real time video and displays the barcode only if it is
validated and has a high enough confidence level to enable the switch for display. All the infor-
mation is sent to the module to convert the 3 dimensional matrices back to 2D matrices. Then,
RGB is converted to YCrCb format to display through the board, We have described a novel
algorithm for finding and reading 1D barcodes, intended for use by blind and visually impaired
users. A key feature of the algorithm is the ability to detect barcodes at some distance, allowing
the user to rapidly scan packages before homing in on a barcode.
The Interface will be in the form of an application. It is designed to be functional and min-
imal in its styling. All options will be displayed in a menu based format. Android app will be
used to setup the page layout and add minimal styling to make the interface user friendly.
A webserver will be required so that the students and the mess admin can connect to it to
exchange information. The servers have a database to store all the data entries. The Server will
have to have a high speed 1 Gigabit Ethernet connection to the college’s local network.
The server will be hosted using Apache Tomcat Webserver (Version 8.0.14). It will also have
a MySQL relational database. The main backend processing will be done using Java Server
Pages (JSP) including connecting to and accessing the database and processing requests.
The main communication protocol will be Hyper Text Transfer Protocol (HTTP). This will
be used to transfer information back and forth from the client to the server. HTTP GET and
POST will be used to send the information.
• Compliance
• Documentation
• Disaster recovery
• Efficiency
• Effectiveness
• Extensibility
• Fault tolerance
• Interoperability
• Maintainability
• Privacy
• Portability
• Quality
• Reliability
• Reliability
• Resilience
• Response time
• Robustness
• Scalability
• Security
• Stability
• Supportability
• Testability
The only way in which systems will meet their performance targets is for them to be speci-
fied clearly and unambiguously. It is a simple fact that if performance is not a stated criterion
of the system requirements then the system designers will generally not consider performance
issues. While loose or incorrectly defined performance specifications can lead to disputes be-
tween clients and suppliers. In many cases performance requirements are never ridged as system
that does not fully meet its defined performance requirements may still be released as other con-
sideration such as time to market.
In order to assess the performance of a system the following must be clearly specified:
• Response Time
• Workload
• Scalability
• Platform
This Specification shall be sufficient detailed to allow the design and implement to achieve
Product is portable; it can run between only two connected systems or a large Network of
computers. Product is maintainable; i.e. in future the properties of the product can be changed
to meet the requirements.
• Memory:- 2 GB or above
• It will execute all commands like DML, DDL and DCL as well as we required some
security measurements for sql injection.
Technologies and tools used in Policy system project are as follows Technology used:
Front End
• Android, java
Back-End
• SQLite
• Memory:- 2 GB or above
At the end of the iteration, a working product is displayed to the customer and important stake-
holders.
System Design
The proposed system carried out the product identification system for blind peoples, the
system provides voice output once barcode has scanned by end user.
1. Detection:
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning
• Lines in 4 different orientations swept to determine collection of edge points with alter-
nating polarities.
2. Direction:
• The user is directed to the barcode by voice commands until enough edges are seen.
3. Decoding:
• Slices with maximum number of edges are found and edges localized with sub-pixel
accuracy.
• Maximum likelihood (ML) estimation of the fundamental width and fixed edges.
4. Output:
Other Specification
5.1 Advantages
Following are the benefits or advantages of Barcode:
• It allows realtime data to be collected accurately and rapidly with the help of barcode
readers.
• It is less expensive.
5.2 Limitations
Following are the disadvantages of Barcode:
• Barcode scanning requires special device called Barcode scanner which emits light and
collects reflected light to decode the Barcode.
5.3 Applications
• Scan and pay applications
• Paytm applications
This project represents a solution for finding and reading 1D barcodes, intended for use by
the visually impaired users. A key feature of the algorithm is the ability to detect barcodes at
some distance, allowing the user to rapidly scan packages before homing in on a barcode. Ex-
perimental results with a blindfolded subject demonstrate the feasibility of the system. In the
future we plan to port our system to a camera phone. Experiments with blind/visually impaired
volunteer participants demonstrate the feasibility of the system and suggest that its usability is
significantly enhanced by real-time feedback to help the user find barcodes before they are read.
We are exploring commercialization options of the application, including collaboration with an
organization interested in releasing a consumer-oriented smart phone app that includes detailed
information associated with a barcode (e.g., preparation instructions for packaged items).
Future Work
We have described a novel algorithm for finding and reading 1D barcodes, intended for use
by blind and visually impaired users. A key feature of the algorithm is the ability to detect
barcodes at some distance, allowing the user to rapidly scan packages before homing in on a
barcode. Experimental results with a blindfolded subject demonstrate the feasibility of the sys-
tem. In the future we plan to port our system to a camera phone, and to extend our system to
symbologies other than UPC-A, such as the the EAN-13 (which is widespread in Europe).
A Voice Based Visual Product Identification for Blind Persons Using Barcode Scanning
Appendix A:
Non-Polynomial (NP):
1. NP-Hard:
The system accepts input, but there is no guarantee that we will get the output. Such systems do
not exist because no one will use the system if there is no guarantee the system works for any
inputs. Hence our application is again not of NP-Hard type because we want to build a system
that never fails and guarantees output.
2. NP-Complete:
Our application is NP-Complete. The system accepts input, and we get the output in variable
non-polynomial time. Almost all or maximum systems are of NP-Complete type. Even our
application is of NP complete type because it guarantees output but not in fixed amount of time.
Now our output time varies because of the input. In our system user can get file in variable time
interval depending upon file size. If attribute set is matched with owners attribute set than only
file will be accessible to user. This is done in variable time.
Thus in our application there is guarantee that we get output. Hence our application is NP-
complete.
Appendix B:
[1] James N. Coughlan and Ender Tekin paper on Enabling impaired users to read barcodes
on the product by using mobile application.
[2] Smart Android Application for Blind People Based on Object Detection, Ketaki B. Tharkude,
Aishwarya K. Wayase, Pratiksha S. More, Sonali S. Kothey B. E Students, Dept. of Computer
Engineering, RMD Sinhgad School of Engineering, Savitribai Phule Pune University, India,
april 2016.
[3] Robert Adelmann, Marc Langheinrich, Christian Flrkemeier Toolkit for Bar Code Recogni-
tion and Resolving on Camera Phones Jump Starting the Internet of Things sun.com/software/
communitysource/j2me/mmapi/.
[4] Orazio Gallo and Roberto Manduchi Reading Challenging Barcodes with Cameras
[5] S. Kresic, D. madej, Fadil Santosa Applications of hidden Markov models in bar code
decoding Science Direct with ElsevierOrazio Gallo, Student Member, IEEE
[6] Roberto Orazio Gallo, Student Member, IEEE, and Roberto Manduchi Reading 1D Bar-
codes with Mobile Phones Using Deformable Templates IEEE TRANSACTIONS ON PAT-
TERN ANALYSIS AND MACHINE INTELLIGENCE.