Automated Train Ticket System
|
|
|
- Harold May
- 10 years ago
- Views:
Transcription
1 (MobiTiki) By Athukorala A.U.B. Dissanayake C.P. Kumara M.G.C.P. Priyadarshana G.V.J. This report is submitted in partial fulfillment of the requirements for the award of the degree of Bachelor of Science of Engineering At University of Moratuwa, Sri Lanka. 2008
2 Abstract MobiTiki By Athukorala A.U.B. Dissanayake C.P. Kumara M.G.C.P. Priyadarshana G.V.J. Supervised by Dr. Sanath Jayasena MobiTiki is an automated train ticketing system designed to reduce the long ticket queues which occur in peak hours. The aim of this project to come up with a low cost and efficient model of a system which can be used to reduce the congestion at ticketing queues. At present the entire process of issuing tickets is done manually. This result is long queues which can be observed just after office hours. MobiTiki uses the train commuter s cellular phones to store the authentication data. The users will then authenticate themselves at the train station via an automated system. As the tickets are issued using a prepaid system we expect the process to be much faster than the current manual system. This report gives a detailed description about the project including literature survey, research, design and development stages and final outcome of the project. It also suggests further improvements that can be carried out for achieving a better system. Department of Computer Science and Engineering Page 2
3 Acknowledgement First of all, we would like to thank our project supervisor Dr. Sanath Jayasena and the project coordinator Mr. Shantha Fernando. Also our gratitude goes to Mr.Indika Perera and Mr.Praveenan for providing us with proper guidance, encouragement and knowledge at needed situations. They were always behind this effort showing us the correct path when we were deviating from our targets. In addition to that we would like to extend our gratitude to Mr. M.G. Indrasena, Station Master of Panadura Railway Station and Mrs. Lalitha Wickramarachchi, Chief Clerk of Sri Lanka Railway Department who helped us to obtain the domain knowledge of how the Railway system works is many instances. We sincerely thank all the other academic staff members at the Department of Computer Science and Engineering. They provided us required resources and advices throughout the whole academic year so that we could reach the completion of our project successfully. The support given by the non academic staff members is also appreciated highly. We would also like to thank all our batch mates very warmly. They were always willing to listen to our problems and to suggest very practical solutions. They also made the life we spent at the lab very interesting and enjoyable. At last but not least, we would like to thank our parents who have always been behind encouraging us in doing this project successfully. Department of Computer Science and Engineering Page 3
4 Table of Contents Introduction Project Objectives Background and Literature Review What s Semacode Advantages of using semacode Why we choose to use the Semacode Where we can use the Semacode Industries where Semacode is widely used How the Semacode came to the Mobile Existing Systems which are similar Why world uses Semacode Image Processing Threshold Edge detection Step Edge detection by differentiation Canny edge detection Laplacian edge detection Robert edge detection Prewitt edge detection Projective Transformation Image Wrapping Two Dimensional Mappings Department of Computer Science and Engineering Page 4
5 2.7.4 Research on IEC/ISO speciation The standard in ECC Data Encodation Schema Error detection and correction Error correction capacity Module placement in matrix Image capturing devices (Barcode readers) Types of barcode scanner Types of technology Example of 2 D barcode reader Design Overall System Architecture D Barcode Based Authentication System Semacode Encoder Semacode Capturing Image Enhancement Error Correction Semacode Decoder Prepaid Service Portal Semacode Encoder Cached Data Manager Session Manager Data Manager Localizer Department of Computer Science and Engineering Page 5
6 3.3.6 Main and Localization Databases Mobile Application Common Services User Specific Services Data Storage Layer Security Features used Use of J2ME Polish External String Based Web service Message and Connection Handling Layer Database Test Results Discussion Conclusion Future Work References Appendix A Appendix B Department of Computer Science and Engineering Page 6
7 List of Tables Table 2. 1: Space usage of semacode Table 2. 2 Comparison of the Space usage of semacode Table 2. 3: Schemas Table 2. 4: Data matrix size Table 2. 5: Boundary placement matrix Table 4.1: Test Results 70 Department of Computer Science and Engineering Page 7
8 List of Figures Figure 2. 1 : Clothing & footwear Industry Figure 2. 2: Book & Magazine Industry Figure 2. 3: Land Industry Figure 2. 4: Chiltern Railways Figure 2. 5: The Japanese airline Figure 2. 6: Samples of Semacode Figure 2. 7: Quick threshold Figure 2. 8 : Captured Image Figure 2. 9: After apply Quick threshold Figure 2. 10: After applying Global Mean threshold Figure 2. 11: Laplacian edge detection Figure 2. 12: ECC standard Figure 2. 13: 8x8 Data matrix Figure 3. 1: Overall System Architecture Figure 3. 2 : Semacode Encoder Module Figure 3. 3: Class diagram of Semacode Encoder Module Figure 3. 4: Image Capturing Module Figure 3. 5: Image Enhancement Module Figure 3. 6: Class diagram of Image Enhancement Module Figure 3. 7: Error Correction Module Figure 3. 8: Class diagram of Error Correction Module Department of Computer Science and Engineering Page 8
9 Figure 3. 9: Semacode Decode module Figure 3. 10: Class diagram of Semacode Decode module Figure 3. 11: Prepaid Service Portal design diagram Figure 3. 12: Semacode Encode Module Figure 3. 13: Class diagram of Web portal Figure 3. 14: J2ME module Figure 3. 15: Class diagram of J2ME module Figure 3. 16: Relation Schema of the database Figure 4.1: Image capture Figure 4. 2: Edge detection Figure 4.3 : Region detection 72 Figure 4.4: Corner Dection Figure 4.5: Decoded Image Department of Computer Science and Engineering Page 9
10 Chapter 1 Introduction A long queue at the ticket counter is something regularly experienced by the train commuters using the Sri Lankan railways. The gravity of this problem is clearly visible in the morning and in the evening, just after office hours have ended. Other than the obvious wastage of time in the queues, the stress and frustration created by this problem, on people daily, is another major concern. In the developed countries of Europe and in the USA there are automated ticketing systems which use smart cards. Through the use of these cards they have successfully addressed the above questions. In fact most of these smart card systems have almost eliminated the queues. In some countries this transaction can be done via the user s credit card. One reason for long queues at ticket counters is, in most stations there are not enough ticket counters to handle the peak time crowd. But it is not practicable to increase the number of ticket counters just to serve at peak time. Another reason is the time taken for one passenger to buy a ticket. The person at the counter has to issue the ticket and deal with the change. This increases the time taken to complete the transaction. The solution to this problem is to automate the system. But we have to consider the Sri Lankan context when deciding how to automate the system. The credit card system is obviously not suited since a significant number of train commuters do not use credit cards. If we consider Department of Computer Science and Engineering Page 10
11 the smart card systems the initial cost of these systems are huge. And the cost of maintaining such high tech system will most probably outweigh the benefits provided by it. The system we have suggested is an automated pre paid system. The automated part addresses the problem of long queues. The pre paid part aims to solve the problem of dealing with actual money. By this way, the time taken in exchanging money and receiving the correct balance will be completely eliminated. Our alternative to credit cards and smart cards is to use a special two dimensional barcode. This barcode will be saved as an image in the users cell phone. A smart device equipped with which will issue the ticket after identifying the user a web cam will be installed at the station. Department of Computer Science and Engineering Page 11
12 Project Objectives The main goal of this project is to develop a prototype of an automated train ticketing system which is cost effective and suits the Sri Lankan context. The system will effectively reduce the time taken to obtain a ticket at a ticketing counter. It will aim to reduce long queues at ticket counters thus reducing time wastage. The scope of our objective is as follows Identification and evaluation of existing automated ticket issuing systems. The study of these systems to understand their functionality and features so that we may incorporate some of the features to our system. Identification of the usages of the 2D barcode semacode. Identification of the processing power and decoding time of semacode compared to other 2D barcodes and determining its efficiency. Determining the appropriateness of the semacode as an identification mechanism. Development of a semacode based authentication system. Identification of the usefulness of a real time web based system on providing information useful to railway commuters. Development of such a web based system. Make all the railway schedules easily accessible to the general public. Development of a prepaid ticketing system embedding it in the web based system Determining the usage of cellular phones as a means of authentication opposed to smart cards and other card systems, taking in to consideration the Sri Lankan context. Development of a J2ME application to be used as an authentication mechanism, as well as provide a stripped down version of the services provided by the web base system. Identification of the options available, when placing a smart device at the train stations, to issue tickets. Development of a system to emulate the functionality of a smart device. In the end, reduce long ticket queues, save time and ultimately make the journey pleasant for the commuters. Department of Computer Science and Engineering Page 12
13 Chapter 2 Background and Literature Review 2.1 What s Semacode Semacode [1] is a system for universal computing, combining camera phones, bar codes and URLs, in order to bring the real world into the virtual world. The bar code is a 2D image that stores the data in a hidden manner. As Semacode only needs a small processing capacity the concept is rapidly growing in mobile applications[2]. The location based data, commercial data & many embedded systems can use the Semacode. The Semacode technology requires the direct interaction (using mobile devices) with the user & that helps to make quick connections with different types of users. Sri Lanka also intends to use the Semacode applications in near future. But the world has already been keen to use the semacode applications with confidence. Department of Computer Science and Engineering Page 13
14 The world moves with the mobile devices & the mobile devices deal with concepts like Semacode because it enhances the processing power & rapidness. Semacode is a method to store data in a 2 D data format. The data can be represented in a Data Matrix [3] format so the processing of the data is very much efficient than the other storing techniques[4]. 2.2 Advantages of using semacode The Space usage of semacode compared with other data store technique[5] QR Code Data Matrix (Semacode) Space Savings 42 x x 24 67% 25 x x 18 48% 29 x x 20 52% 29 x x 26 20% Table 2. 1: Space usage of semacode QR Code Data Matrix (Semacode) Space Savings 29 x x 22 42% 29 x x 24 32% 25 x x 18 61% Table 2. 2 Comparison of the Space usage of semacode Department of Computer Science and Engineering Page 14
15 The number of different combinations that can make A single data word has lesser number of different combinations. But when using a 2 D barcode, the amount of data that can be stored is very large (it has a two dimensional data storage capacity). With the increase of the market competitors & the different brands the higher the number connects with higher data capacity. Accepted as a world standard In the current world it is accepted as a standard. Different mobile phone vendors use their own techniques to process the data. But when the mobile phones are used for a common purpose all should follow a common technique. Otherwise the users will be uncomfortable when using those applications. So the unofficial standard usage of semacode will be much more effective in the near future. 2.3 Why we choose to use the Semacode As we observed in our literary survey the best two dimensional barcode format varies with different formats. With the data matrix type storage we considered major factors as to how much data that can store, how the data keep their uniqueness, how to make a large amount of data variations.[6] (In Sri Lanka, major transport medium is locomotive transportation, so the millions of passengers will use this mechanism in Sri Lanka). Department of Computer Science and Engineering Page 15
16 2.4 Where we can use the Semacode This is a very important topic to talk in a literary survey. Semacode can be used in the offline world, to link with the online and mobile worlds. There are thousands of possibilities. For example, business cards can have a semacode on the back. The semacode is unique to that person and stores his/her contact and company information and other Meta data. A user could use a mobile phone to scan for movie information on a particular movie, playing at a particular theatre on a specified time & date. Mobile ticketing is a buzzword in Sri Lanka that can co op with semacode. The potential that relates with movies & the mobile devices is like BAT & BALL. The world already has been moved towards the semacode usage, in many commercial arrears, as well as in personal life Industries where Semacode is widely used Clothing & footwear Industry Figure 2. 1 : Clothing & footwear Industry Department of Computer Science and Engineering Page 16
17 In this case, the customer uses her mobile phone to capture the semacode shown in the cut out (advertising board). When she visits the shop (clothes) next time she can use her mobile captured image to get the description of the dress. She even makes sure at what places, that particular dress is available. After that she/he can obtain the price, brand name & much more. This is a really famous technique that is used in European countries. The efficiency & the attraction of the customers are on a much higher level [7]. Book & Magazine Industry Figure 2. 2: Book & Magazine Industry Here the example demonstrates how the Semacode is used to identify a particular magazine. The author, publications & price can be viewed instantly after capturing the 2 D barcode. This is the impact of new technologies. The number of different combination that can be supplied from a small data matrix will be higher. Department of Computer Science and Engineering Page 17
18 Land Industry Figure 2. 3: Land Industry This is another emerging commercial approach in European countries. The 2 D barcode stores the data of land, owner & the sales person & price details. This can also be used in renting houses, leasing houses & sale of houses. This is another efficient method & the user can get the data within a few seconds. These are the few examples of usage of semacode in mobile devices. These three different scenarios imply that the wide variations of the fields that can use simple data matrix How the Semacode came to the Mobile Ericsson Mobile Application technology enables barcode scanning with cameraequipped mobile phones. Codes can be printed in newspapers and magazines, on posters or on the product itself. It is an independent code, and needs no additional scanner hardware to turn camera enabled devices into universal code readers. It is easy to integrate into current and future camera enabled mobile phones. The system allows camera phones to read Data Matrix and a variety of other two dimensional printed codes, as well as traditional one dimensional barcodes. It is not just a one way system. In addition to scanning barcodes, the camera phone can display codes to be read by a scanner. Possible uses include e ticking applications and electronic Department of Computer Science and Engineering Page 18
19 vouchers. Also it has introduced SMS barcodes that can be used in point of sale transactions. The M Scan device communicates with the Server via GPRS, and then issues a physical ticket from an internal thermal printer and the mobile phone user presents it as a ticket, or as a promotional offer. Semacode is a free mobile barcode scanning system created by Simon Woodside. The system encodes standard URLs as two dimensional Data Matrix codes. An application on the user's phone converts the Data Matrix code back into a URL and passes the information to the phone's browser. Department of Computer Science and Engineering Page 19
20 2.5 Existing Systems which are similar Chiltern Railways Chiltern Railways [8] was the first to supply rail passengers with Railway Tickets delivered to their mobile phones. Also Cubic Transportation Systems, they provided the first rail gate solution able to read mobile phone tickets. Chiltern Railways announced a world first in mobile ticketing that means passengers can buy a rail ticket direct from their mobile and travel. Fifty passengers were selected to take part in this pioneering trial which will allow them to simply, securely and quickly purchase and display train tickets on their mobile phone. Figure 2. 4: Chiltern Railways Rail travelers can simply purchase tickets from their mobile phone and then board the train. Even first time users can purchase without pre registration securely and simply. Mobile ticket purchasing has several advantages over conventional purchase. Department of Computer Science and Engineering Page 20
21 The Japanese airline The Japanese airline [9] JAL relies on two dimensional barcodes for the sale of flight tickets. These processes can be technically realized because of the support of the Japanese telephone company NTT. Figure 2. 5: The Japanese airline Department of Computer Science and Engineering Page 21
22 2.6 Why world uses Semacode Figure 2. 6: Samples of Semacode Figure 2.6 demonstrates some screened captures of a Semacode in a mobile device. When the user uses a mobile device to capture an image, definitely it would have inclined images. When the decoding proceeds, the rotation of the image is compulsory. With a complex data set it would be a very difficult task. But with a familiar 2 D data matrix it wouldn t be very tough like other task. This is a great advantage over all other techniques. As mentioned earlier the efficiency & the higher different combinations prefer Semacode other than a different data storing methods. Department of Computer Science and Engineering Page 22
23 2.7 Image Processing Threshold Threshold [10] is the simplest method of image segmentation. Individual pixels in a grayscale image are marked as object pixels if their value is greater than some threshold value (assuming an object to be brighter than the background) and as background pixels otherwise. Typically, an object pixel is given a value of 1 while a background pixel is given a value of 0. The key parameter in thresholding is obviously the choice of the threshold. Several different methods for choosing a threshold exist. The simplest method would be to choose the mean or median value, the rationale being that if the object pixels are brighter than the background, they should also be brighter than the average. In a noiseless image with uniform background and object values, the mean or median will work beautifully as the thresholds, however generally speaking; this will not be the case. A more sophisticated approach might be to create a histogram of the image pixel intensities and use the valley point as the threshold. The histogram approach assumes that there is some average value for the background and object pixels, but that the actual pixel values have some variation around these average values. However, computationally this is not as simple as we d like, and many image histograms do not have clearly defined valley points. Ideally we re looking for a method for choosing the threshold, which is simple, does not require too much prior knowledge of the image, and works well for noisy images. Such a good approach is an iterative method, as follows: 1. An initial threshold (T) is chosen; this can be done randomly or according to any other method desired. 2. The image is segmented into object and background pixels as described above, creating two sets: 1. G 1 = {f(m,n):f(m,n) > T} (object pixels) 2. G 2 = {f(m,n):f(m,n) T} (background pixels) f(m,n) is the value of the pixel located in the m th column & n th row) 3. The average of each set is computed. Department of Computer Science and Engineering Page 23
24 1. m 1 = average value of G 1 2. m 2 = average value of G 2 4. A new threshold is created that is the average of m 1 and m 2 T = (m 1 + m 2 )/2 5. Go back to step two, now using the new threshold computed in step four, keep repeating until the new threshold matches the one before it (i.e. until convergence has been reached). This iterative algorithm is a special one dimensional case of the k means clustering algorithm, which has been proven to converge at a local minimum meaning that a different initial threshold may result in a different final result. There are many types of thresholdings that can be used in image enhancement. Simple thresholding, Quick thresholding, local Mean Thresholding, global Mean Thresholding, Global Min Max Average Thresholding are a few examples. But we define our own threshold value to a particular image enhancement process depending on the image that we captured. Department of Computer Science and Engineering Page 24
25 Quick Threshold In order to explain how this algorithm works, we initially treat the image as a linear array of pixels constructed by concatenating the entire image rows together. This yields the data structure shown below which is processed from left to right. Figure 2. 7: Quick threshold Let fs(n) be the sum of the last s pixels encountered at point n in the pixel array f s( n) = s 1 i= 0 P n i T ( n) 0 if = 255 f s( n) 100 t n < 100 s otherwise P pn = the grayscale value of a pixel located at position n. fs(n)/s is the average pixel value of the last s pixels encountered. This quantity is known as the moving average since it is recalculated for every position in the pixel array. This moving average is then used in a thresholding function T(n) to produce the binarized image. Department of Computer Science and Engineering Page 25
26 Captured Image Figure 2. 8 : Captured Image After applying Quick threshold Figure 2. 9: After apply Quick threshold Department of Computer Science and Engineering Page 26
27 Local Mean Threshold Here the concept is to identify a particular image or special data in an image using a local value. The local threshold value will be applied to that particular area & the data will be retrieved. This method is useful when we want to identify a portion of an image that only includes an object. So this value is effected to the specific area. This technique is also very useful in image enhancement. Global Mean Threshold Captured Image After applying Global Mean threshold Figure 2. 10: After applying Global Mean threshold Department of Computer Science and Engineering Page 27
28 Here we apply a common value to the whole image. This is a direct approach, hence this is very fast. But when we think about the accuracy of the data this is the worst. Because any image can have error data, electrical noise & the environmental effects without uniformity. So applying a global value to an image will be very bad when we think about the accuracy. But if we only want to identify a big picture of an image this will be much faster, though not a very practical approach. Global Min Max Average Threshold To overcome the bad effects of the unwanted data in an image we use Min Max Average threshold. The min Max value can be assigned according to the image & it gives an idea of the image at the start. The whole data will be analyzed before applying thresholding to the image. This is another common method that is used in image enhancement. Testing revealed that Global Min Max Average Threshold produced better quality binary images than global thresholding on the majority of test images. Even though global thresholding was more efficient, it usually failed to produce clear images. Since clarity is vital at this stage in the decoding process, the Global Min Max Average Threshold is used widely. Department of Computer Science and Engineering Page 28
29 2.7.2 Edge detection Step Edge detection by differentiation Captured image First Derivation Apply threshold Detect the Edge Department of Computer Science and Engineering Page 29
30 The first step in segmenting images into regions is to determine where the edges are. We can use several different edge detection filters including true Sobel, true Prewitt, Canny Edge detection, Laplacian of Gaussian, and a mix of Sobel and Prewitt[10] Canny edge detection Basically there are four steps that need to be followed in the Canny Edge detection algorithm. [11] Smooth the image with a Gaussian filter. For the smoothing step, the Canny detector employs a Gaussian low pass filter. The standard deviation, determines the width of the filter and hence the amount of smoothing. Compute the gradient magnitude and orientation using finite difference approximations for the partial derivations. An edge in an image may point in a variety of directions, so the Canny algorithm uses four filters to detect horizontal, vertical and diagonal edges in the blurred image. The edge detection operator returns a value for the first derivative in the horizontal direction (Gy) and the vertical direction (Gx). Apply non maximum suppression to the gradient magnitude. M ( x y) ( x, y) > ΔS ( x, y ) ( x, y) > ΔS ( x, ) if ΔS, ΔS ( x, y) = & ΔS y 0 otherwise ( x,y ) and ( x,y ) are the neighbors of ( x,y) along the direction normal to an edge in ΔS Department of Computer Science and Engineering Page 30
31 Hysteresis threshold Thresholding with hysteresis requires two thresholds high and low, which is use double thresholding algorithm to detect and link edge. o o o If the gradient at a pixel is above High, declare it an edge pixel If the gradient at a pixel is below Low, declare it a non edge pixel If the gradient at a pixel is between Low and High then declare it an edge pixel if and only if it is connected to an edge pixel directly or via pixels between Low and High Laplacian edge detection This technique uses the partial derivation of the image pixels to identify the image edges. This is another common & practical method that is used in image enhancement to find an edge. It deals with the second derivatives of the image & it can be used to identify the correct edges even in a small image. Figure 2. 11: Laplacian edge detection Department of Computer Science and Engineering Page 31
32 Laplacian Operators Approximation of second derivative (horizontal) f 2 2 X = f''(x,y) = f'(x+ 1,y) f'(x,y) = [ f ( x+ 1, y) f ( x, y)] [ f ( x, y) f ( x 1, y)] = f ( x+ 1, y) 2 f ( x, y) + f ( x 1, y) Convolution with [ 1 2 1] Approximation of second derivative (vertical) Convolution with Apply Laplacian operator as follows = + 2 X Y 2 Department of Computer Science and Engineering Page 32
33 Robert edge detection In computer vision, the Roberts' Cross operator is one of the earliest edge detection algorithms, which works by computing the sum of the squares of the differences between diagonally adjacent pixels. This can be accomplished by convolving the image with two 2x2 kernels: In other words, each pixel in the output image is calculated as follows: tmp1 tmp2 output_image(x,y) = input_image(x,y) input_image(x+1,y+1); = input_image(x+1,y) input_image(x,y+1); = absolute_value(tmp1) + absolute_value(tmp2) Roberts' Cross is still in use, due to the speed of computation, but performance compared to the alternatives is poor, with noise sensitivity a significant problem. It produces finer lines than other edge detection methods Prewitt edge detection Prewitt is a method of edge detection in computer graphics, which calculates the maximum response of a set of convolution kernels to find the local edge orientation for each pixel. Various kernels can be used for this operation. The whole set of 8 kernels is produced by taking one of the kernels and rotating its coefficients circularly. Each of the resulting kernels is sensitive to an edge orientation ranging from 0 to 315 in steps of 45, where 0 corresponds to a vertical edge. Department of Computer Science and Engineering Page 33
34 The maximum response for each pixel is the value of the corresponding pixel in the output magnitude image. The values for the output orientation image lie between 1 and 8, depending on which of the 8 kernels produced the maximum response. This edge detection method is also called edge template matching, because a set of edge templates is matched to the image, each representing an edge in a certain orientation. The template that matches the local area of the pixel the best then determines the edge magnitude and orientation of a pixel. The Prewitt edge detector is an appropriate way to estimate the magnitude and orientation of an edge. Although differential gradient edge detection needs a rather timeconsuming calculation to estimate the orientation from the magnitudes in the x and y directions, the Prewitt edge detection obtains the orientation directly from the kernel with the maximum response. The set of kernels is limited to 8 possible orientations; however experience shows that most direct orientation estimates are not very much accurate. On the other hand, the set of kernels needs 8 convolutions for each pixel, whereas the set of kernels in gradient method needs only 2, one kernel being sensitive to edges in the vertical direction and one to the horizontal direction. The result for the edge magnitude image is very similar with both methods, provided the same convolving kernel is used. Mathematically, the operator uses two 3 3 kernels which are convolved with the original image to calculate approximations of the derivatives one for horizontal changes, and one for vertical. If we define A as the source image, and G x and G y are two images which at each point contain the horizontal and vertical derivative approximations, the latter are computed as: Department of Computer Science and Engineering Page 34
35 2.7.3 Projective Transformation Image Wrapping Image warping is the act of distorting a source image into a destination image according to a mapping between source space (u, v) and destination space (x, y). The mapping is usually specified by the functions x (u, v) and y (u, v).[12] Image warping is used in image processing primarily for the correction of geometric distortions introduced by imperfect imaging systems. Camera lenses sometimes introduce pincushion or barrel distortions, perspective views introduce a projective distortion, and other nonlinear optical components can create more complex distortions. In image processing, we do image warping typically to remove the distortions from an image, while in computer graphics we are usually introducing one. For image processing applications, the mapping may be derived given a model of the geometric distortions of a system, but more typically the mapping is inferred from a set of corresponding points in the source and destination images. Department of Computer Science and Engineering Page 35
36 Two Dimensional Mappings Our research focus on the 2 D images mapped to planar surfaces. The simplest classes of 2 D mappings are the bilinear and projective transformations. These mappings are well known in mathematics. A two dimensional mapping is a mapping (transformation) that distorts a 2 D source space into a 2 D destination space. It maps a source point (u, v) to a destination point (x, y), according to the functions x (u, v) and y (u, v). We will discuss two classes of mappings are bilinear and projective. Bilinear Mappings Bilinear mappings are most commonly defined as a mapping of a square into a quadrilateral. In bellow figure, this mapping can be computed by linearly interpolating by fraction u along the top and bottom edges of the quadrilateral, and then linearly interpolating by fraction v between the two interpolated points to yield destination point (x, y). Department of Computer Science and Engineering Page 36
37 Projective Mappings The projective mapping, also known as the perspective or homogeneous transformation, is a projection from one plane through a point onto another plane. Homogeneous transformations are used for perspective camera transformations. The general form of a projective mapping is a rational linear mapping: A projective mapping has 8 degrees of freedom, which can be determined from the source and destination coordinates of the four corners of a quadrilateral. There have two cases in calculation. 1. X = 0 and Y = 0 This is implies that the XY polygon is a parallelogram, so the mapping is affine, and a = x 1 x 0 b = x 2 x 1 c = x 0 d = y 1 y 0 e = y 2 y 1 f = y 0 g = 0 h = 0 Department of Computer Science and Engineering Page 37
38 2. X 0 and Y 0 Department of Computer Science and Engineering Page 38
39 2.7.4 Research on IEC/ISO specification The standard in ECC Each Data Matrix symbol[13] consists of data regions which contain nominally square modules, set out in a regular array. In larger ECC 200 symbols, data regions are separated by alignment patterns. The data region is surrounded by a finder pattern, and this shall be surrounded on all four sides by a quiet zone border. Below illustrates an ECC 140 and a representation of an ECC 200 symbol. ECC 200 ECC 140 Figure 2. 12: ECC standard ECC 200 symbols have an even number of rows and an even number of columns. Some symbols are square with sizes from 10 x 10 to 144 x 144 not including quiet zones. But ECC symbols have an odd number of rows and an odd number of columns. Symbols are square with sizes from 9 x 9 to 49 x 49 (modules) not including quiet zones. These symbols can be recognized by the upper right corner module being dark. Department of Computer Science and Engineering Page 39
40 Data Encodation Schema The data may be encoded using any combination of several encodation schemata. ASCII Encodation is the basic scheme. All other encodation schemes are invoked from ASCII encodation and return to this scheme. The best scheme for a given set of data may not be the one with the fewest bits per data character. It is important to switch between Encodation Schemes and Code sets In such a way that the number of code words is minimized. (For further information see appendix) Table 2. 3: Schema Department of Computer Science and Engineering Page 40
41 Error detection and correction ECC 200 symbols employ Reed Solomon error correction. For ECC 200 symbols with less than 255 total codewords, the error correction codewords are calculated from data codewords with no interleaving. For ECC 200 symbols with more than 255 total codewords, the error correction codewords are calculated from data codewords with the interleaving procedure. Each ECC 200 symbol has a specific number of data and error correction codewords which are divided into a specific number of blocks. The polynomial arithmetic for ECC 200 shall be calculated using bit wise modulo 2 arithmetic and byte wise modulo (decimal 301) arithmetic. This is a Galois field of 2 with representing the field's prime modulus polynomial: x8 + x5 + x3 + x Sixteen different generator polynomials are used for generating the appropriate error correction codewords Error correction capacity The error correction codewords can correct two types of erroneous codewords, erasures (erroneous codewords at known locations) and errors (erroneous codewords at unknown locations). An erasure is not scanned or undetected decodable symbol character. An error is a missed decoded symbol character. formula: The number of erasures and errors that can be corrected is given by the following e + 2t =< d p Where: e = number of erasures t = number of errors d = number of error correction codewords p = number of codewords reserved for error detection. Department of Computer Science and Engineering Page 41
42 In the general case, p = 0. However, if most of the error correction capacity is used to correct erasures, then the possibility of an undetected error is increased. In the general case, p = 3 if the number of erasures is more than half the number of error correction codewords. Department of Computer Science and Engineering Page 42
43 Module placement in matrix There are 24 square symbols available in ECC 200. The table below describes the Symbol size, mapping matrix size, number of Data codewords, error codewords and maximum data capacity. Table 2. 4: Data matrix size Because the standard symbol character shape cannot always fit the data module boundaries of the symbol and at some corners, a small set of non standard symbol characters is required. There are six conditions: two boundary conditions which affect all symbol formats, and four different corner conditions which apply to certain symbol formats: Department of Computer Science and Engineering Page 43
44 Table 2. 5: Boundary placement matrix Left and right symbol characters Department of Computer Science and Engineering Page 44
45 Top and bottom symbol characters Corner condition 1 Corner condition 2 Department of Computer Science and Engineering Page 45
46 Corner condition 4 This is the 8x8 matrix after set all the boundary condition. Figure 2. 13: 8x8 Data matrix Department of Computer Science and Engineering Page 46
47 2.8 Image capturing devices (Barcode readers) Semacode is not a new barcode format. It appears to be a slight variation of the standard Data Matrix code. Our understanding is that there are some special ways which data has been encoded into the code structure to make the code proprietary. As such, Semacode is subject to the inherent limitations of Data Matrix, and it is not sure that there's any value added by the changes that have been made from the standard. Both QR and Data Matrix were originally developed for industrial purposes. When the codes were conceived, laser scanning was the primary code reading technology, image sensors were costly and CPUs were slow. No one was expecting that these codes would be decoded by battery operated, hand held mobile devices in uncontrolled conditions. Neither code is well adapted to the problems of mobile cameras. Neither is designed to take advantage of the current know how in machine vision Types of barcode scanner Barcode Readers are usually offered from three lines of heritage: Handheld readers for semi automatic reading Fix mount readers for automatic reading Reader gates for automatic scanning This leads to the segregation of in line reading, semi automatic reading, and automatic scanning. Department of Computer Science and Engineering Page 47
48 2.8.2 Types of technology The reader types can be differentiated as follows: Laser scanners Laser scanners work the same way as pen type readers except that they use a laser beam as the light source and typically employ either a reciprocating mirror or a rotating prism to scan the laser beam back and forth across the bar code. With the pen type reader, a photodiode is used to measure the intensity of the light reflected back from the bar code. In laser scanners, the light emitted by the reader is tuned to a specific frequency and the photodiode is designed to detect only this modulated light of the same frequency. CCD Readers CCD readers use an array of hundreds of tiny light sensors lined up in a row in the head of the reader. Each sensor can be thought of as a single photodiode that measures the intensity of the light immediately in front of it. Camera Based Readers 2D imaging scanners are the fourth and newest type of bar code reader currently available. They use a small video camera to capture an image of a bar code. The reader then uses sophisticated digital image processing techniques to decode the bar code. Video cameras use the same CCD technology as in a CCD bar code reader except that instead of having a single row of sensors, a video camera has hundreds of rows of sensors arranged in a two dimensional array, so that they can generate an image. Department of Computer Science and Engineering Page 48
49 Matrix CCD Camera system This scanner operates with a two dimensional matrix ccd camera system which enables it to read QR codes of LC displays regardless of resolution, colors, or reflection. This is the basis to turn mobile phones into information carriers for encoded signals. The range of applicability is wide. E Ticketing, the electronic sale of tickets, is an important target area. Potential fields of application are plane and train tickets, tickets for the theatre, concerts, sports events or skiing permits. Department of Computer Science and Engineering Page 49
50 2.8.3 Example of 2 D barcode reader 4600r Retail 2D Special Focus Barcode Image Scanner Combine Streaming Presentation Mode and Advanced Illumination System for a costeffective solution with retail applications. Fast reading barcode imager for linear and 2D barcodes such as ISBT 128, GS1 Databar, PDF417, Matrix. Opticon CR2 2D Barcode Reader Dynamic Optimization Technology automatically decodes linear, 2D and postal barcodes like RSS, Postnet, I2of5, PDF417, Data Matrix, Composite and OCR. Department of Computer Science and Engineering Page 50
51 Chapter 3 Design 3.1 Overall System Architecture Ticketing Terminal Image Capturer Semacode Decoder Transaction Handler Mobile Front End Semacode Transaction Handler Prepaid Service Portal User Code Generator Semacode Encoder Transaction Handler Service Layer.NET Web Service String based Web Service Data Access Layer Main Database Localization Database Figure 3. 1: Overall System Architecture Department of Computer Science and Engineering Page 51
52 3.2 2D Barcode Based Authentication System The main authentication into the system is done through a 2D Barcode identified as Semacode. If the user needs to enter into the system to buy a railway ticket he or she should show this barcode to the Image capturing device. If the barcode is a valid one the user will be authenticated in to the system in less than a second Semacode Encoder Semacode encoder gets a string as an input and outputs a unique 2D image which is used as an authentication mechanism into the system. After getting the input word Lexical analyzer returns the tokens related to the characters provided. These tokens are used to generate code words according to the encoding schema selected. The schema is selected to minimize the number of Code words generated. Depending on the number of code words the size of the data matrix is selected and the relevant bit pattern is generated. Finally this bit pattern is used to generate a Bitmap image (Semacode). Semacode Semacode Encoder Middle Layer ECC200 Encoder Bit PatternGenerator Encoding Schema ASCII Byte256 C40 Lexical Analyzer EditFact ECC200 Translation Table Bit Pattern Factory Figure 3. 2 : Semacode Encoder Module Department of Computer Science and Engineering Page 52
53 Class Diagram Figure 3. 3: Class diagram of Semacode Encoder Module Department of Computer Science and Engineering Page 53
54 3.2.2 Semacode Capturing This component is used to capture the Semacode image in a mobile phone. This part is integrated to the Terminal applications in the Railway stations for issuing tickets. We are using a Web Cam device to capture the image. The Avicap32.DLL is a System DLL which is used to connect to an Image Capturing Device. We are using the User32.DLL to communicate with Avicap32.DLL. The device continuously generates a video stream and once the user displays his mobile phone to the Web Cam a Video frame is copied from the Video stream. This image is provided as an input to the Image enhancer. Front Interface Capture Device Avicap32DLL User32DLL Constant Figure 3. 4: Image Capturing Module Department of Computer Science and Engineering Page 54
55 3.2.3 Image Enhancement When the capturing device sends an image, the Image enhancement process will be fired. First it takes the image & converts it into a bitmap. Then the bitmap will be passed through a thresholding process. After that it takes to detect the edges of the image. The edges can be varied with the thresholding values. When it finds edges[14], it passes through a region detection mechanism that helps to identify possible regions in that image. After finds all possible regions the last process is activated to find the edge points of the captured image. The output of the process is the points of the image that includes Semacode image[15][16]. Image Enhancement Region Finder Input Data Bitmap Data Edge Detection Points Edge Points Region Finder Point Detector Figure 3. 5: Image Enhancement Module Department of Computer Science and Engineering Page 55
56 Figure 3. 6: Class diagram of Image Enhancement Module Department of Computer Science and Engineering Page 56
57 3.2.4 Error Correction We are using the Reed Solomon Error Correction in the Encoding Process as well as in the Decoding process. In the encoding process Error Code words are generated using the Data Code words. In the Decoding process The Reed Solomon Decoder gets both the Data Code Words & Error Code Words and identify whether there is an error using Syndrome Calculation. If an error exists in the Code Words, Reed Solomon Decoder will determine the correct code words that should be in place of the error code words. However the Reed Solomon Decoder can correct errors if the error percentage is less than 16% in the code words. Encoder Error Correction Decoder Semacode Decoder ERROR_CORRECTION Semacode Decoder ReedSoloman Encoder ReedSoloman Decoder Figure 3. 7: Error Correction Module Department of Computer Science and Engineering Page 57
58 Figure 3. 8: Class diagram of Error Correction Module Department of Computer Science and Engineering Page 58
59 3.2.5 Semacode Decoder Semacode Decoder gets the 4 points provided by the Image Enhancer Module and the size (Number of Cells) of the Data Matrix is identified using the Bit Pattern Sampler and the Perspective Transform. After that the Bit pattern of the Data Matrix is identified using the ECC200 Translation Table. Then the Code words are generated and these are used to generate the decoded text using the Encoding Schema. Semacode Semacode Decoder Middle Layer ECC200 Decoder Bit Pattern Sampler Encoding Schema ASCII Byte256 C40 Perspective Transform EditFact ECC200 Translation Table Bit Pattern Factory Figure 3. 9: Semacode Decode module Department of Computer Science and Engineering Page 59
60 Figure 3. 10: Class diagram of Semacode Decode module Department of Computer Science and Engineering Page 60
61 3.3 Prepaid Service Portal This is the starting point of the MobiTiki service. Users register for the service via the Web Portal. In addition to the registration users can perform various tasks such as Recharge the Account, Check Transaction History, Search Railway Schedule, Search Railway Ticket Charges, etc. Session Manager Web Front End Semacode Encoder Cached Data Manager Localizer Data Manager Main Database Localization Database Figure 3. 11: Prepaid Service Portal design diagram Department of Computer Science and Engineering Page 61
62 3.3.1 Semacode Encoder Encoding component of the Semacode is integrated with in the Web Portal. Once a user registers for the service a new Semacode will be generated using the Encoder. The user will download this image to his Mobile Phone using the MobiTiki Mobile Application. This downloaded image will be used as the Authentication mechanism to the Service at railway stations. Semacode Semacode Encoder Middle Layer ECC200 Encoder Bit Pattern Generator Encoding Schema ASCII Byte256 C40 Lexical Analyzer EditFact ECC200 Translation Table Bit Pattern Factory Figure 3. 12: Semacode Encode Module Department of Computer Science and Engineering Page 62
63 3.3.2 Cached Data Manager Caching is used within the Web Portal to minimize Database access. Cached Data Manager is responsible for caching the frequently used data such as Schedule details, Rates details, News, Announcements, etc. Depending on the nature of volatility of the Data different cache periods will be used. For example Announcements will have a cache period of 10 Seconds since they are highly volatile Session Manager Session Manager is responsible for handling Authentication into the system Data Manager This is the proxy for the Web front end to communicate with the databases to perform transactions Localizer The portal facilitates both English and Sinhala Languages. The task of the Localizer is to dynamically change the controls of the web page according to the user preference. Label Class Control Fields languagedictionary m_busedictionary m_skey Properties Key UseDictionary Methods Label Render Translator Class Page Fields dbcon m_slanguage selectcommand Properties Methods Language GetLabel (+ 1 ov GetLabels InitPage LoadLabels Translator Department of Computer Science and Engineering Page 63
64 3.3.6 Main and Localization Databases There are 2 Databases within the system. Main database stores the transaction details of the MobiTiki service. Localization database stores the Sinhala and English words required for supporting Bi Language support. Constants Class Fields CACHE_ANNOUNCEMENTS CACHE_CHARGES CACHE_DAYS CACHE_FARE_TYPES CACHE_LIMITED_SCHEDULE CACHE_NEWS CACHE_RAILWAY_STATIONS CACHE_RATES CACHE_SEARCHED_SCHEDULES CACHE_SECONDARY_STOPPINGS CACHE_STOPPINGS SESSION_ACCOUNT_BALANCE SESSION_LAST_LOGGED_IN SESSION_USER_DEFAULT_ROU SESSION_USER_DETAILS SESSION_USER_NAME RandomCodeGe Class Fields Lower Number Symbol Upper Methods GenerateCode GetCharacter IsChecked RandomCodeGen Department of Computer Science and Engineering Page 64
65 UtilsDataSetManage Class Methods GetAnnouncements GetNews GetscheduleForTicker GetSecondaryStoppings GetTicketCharges SearchRates SearchScheduleByStationsAndTime SearchTimeScheduleByStations UtilsDataSetManage TransactionsDataSetManage Class Methods GetAccountBalance GetTransactionHistory RechargeAccount TransactionsDataSetManage UsersDataSetManage Class CommonDataSetManage Class Methods CommonDataSetManage GetDays GetFareTypes GetRailwayStations Methods AuthenticateUser ChangePassword CheckAvailability GetUserData GetUserDefaultRoute IsSemaCodeAvailable RegisterUser SetUserDefaultroute UpdateUserData UsersDataSetManage Figure 3. 13: Class diagram of Web portal Department of Computer Science and Engineering Page 65
66 3.4 Mobile Application The mobile application provides a striped down version of the services provided by the web portal. The user can check time tables, reload the account, check account balance and check transaction summary. The mobile application also holds the Semacode. The user can invoke a serene displaying the Semacode which will be used to authenticate him/her at the station. Login User Specific Services Common Services Data Storage Layer Message and Connection handling Layer External String based Web Service Figure 3. 14: J2ME module Department of Computer Science and Engineering Page 66
67 3.4.1 Common Services Common services include the Checking of railway time tables and ticket charges User Specific Services User specific services include Account Reload, Account Balance Check, and Check Transaction History. User needs to log in to the system to access these services Data Storage Layer The data storage layer handles all the incoming and outgoing data. This part acts as a data cache. This is where the credentials of the user are saved. It also holds session ID s which are used to communicate with the server. The storage layer acts as agent between the user interface and the back end. It accepts the requests from the user interfaces and connects with the message connection and handling layer to retrieve data Security Features used The best way to secure the communication between the J2ME application and the web service was to use an HTTPS connection[17]. But there are a range of difficulties which are different for each phone type, when HTTPS is used[18]. The fact that most phones with GPRS capability do not have HTTPS capability made HTTPs an unsuitable option. Instead we relied upon an encryption library written in java called Bouncycastle [19]. The J2ME application uses an DES encryption algorithm with a key length of 8 characters. [20][21] Use of J2ME Polish J2ME polish[22] is an open source suite of tools that can be used to make the look and feel of an J2ME application better. The application Mobitiki uses the features of this tool to enhance its look and feel[23]. Department of Computer Science and Engineering Page 67
68 3.4.6 External String Based Web service This is a simple web service which accepts requests from the mobile applications. The web service replies the applications in string format. (XML format was not used since the data is not complicated and as it adds a processing penalty on the J2ME application) Message and Connection Handling Layer Message and connection handling layer deals with encryption decryption of messages. It converts the requests from the data storage layer to appropriate string formats so that it can be sent to the web service. It also does processing of strings received by the web service back to data. Department of Computer Science and Engineering Page 68
69 DataMatrixForm Class Canvas Fields connect disp exit Hgap image imageform mainlist screenheight screenwidth URL Vgap Methods commandaction DataMatrixForm downloadimage getimage loadimage loadsavedimage paint resizeimage run setimage setimgsize Journy Class Fields arrivaltime arrivaltimes charge nameoftrain originatingstation otherstations servicetype startingtime terminatingstation trainnumber trainspeed Methods getcharge getservicetype getstartingtime gettrainspeed Journy (+ 1 overload) setcharge setservicetype setstartingtime settrainspeed TransactionSummary Class Canvas Fields acclist back cols disp displayablecolcount displayablerowcount pages screenheight screenwidth selectedrow transactiontable Methods commandaction Department of Computer initealizedisplay Science and Engineering login Page 69 keypressed paint settransactiontable TransactionSummary LoginForm Class Fields accountui back disp login loginform loginsucess mainlist message password username Methods commandaction initealiseloginform LoginForm loginsuccess loginunsuccesfull setmessage
70 Datastore Class HTTPConUtil Class Fields conutil page URL Methods getdataconnection getimage getimageconnection getsharedinstance HTTPConUtil processaccountdata processaccountreloaddata processlogin processtransactionsummarydata run sendhttprequestaccbal sendhttprequestaccreload sendhttprequestimagedata sendhttprequestlogin sendhttprequesttimetabledata sendhttprequesttransactionsummary setjournytable urlencoder Fields accountbal accsummaryform datamatrixform Enc_Password Enc_UserName imagestore logedin loginform reload sessionid store table timetable trsummary username Methods checkaccountdata checktransactionsummary Datastore downlodimage getimagefromrecordstore getsharedinstance isloggedin recheckaccbalance reloadaccount saveiamge sendtimetabledata sessionexpired setaccbal setaccsummaryform setdatamatrixform setloginform setloginstate setreloadform setreloadmessage setscheduledisplay settimetable (+ 1 overload) settrsummary verifylogin ConnectionStingManager Class Fields Methods conmanager ConnectionStingManager getaccountblalncecheckstring getaccountreloadstring getimagestring getloginstring getsharedinstance gettimetableserchstring gettransactionsummarystring Figure 3. 15: Class diagram of J2ME module Department of Computer Science and Engineering Page 70
71 3.5 Database Most of the Data is stored in a MS SQL Server Database. We used ADO.NET to access the Database. Figure 3. 16: Relational Schema of the database Department of Computer Science and Engineering Page 71
72 Chapter 4 Test Results First we obtained 50 data matrix images of five different sizes. Then each of these images was uploaded in to a Nokia 6680 and a N70. Each image was then captured and decoded to obtain the plain text. (If an image was not decoded correctly in the first attempt one more attempt was made.) Test results are as follows Size of the Data Matrix Number of Successful Decoding out of 10 images Nokia 6680 Nokia N70 12 X X X X X Overall % of Success 64% 76% Table 4.1 : Test results Department of Computer Science and Engineering Page 72
73 Decode process of captured image In here, we have described one of the result set archived from captured image throw web camera. This is an original image captured by the web camera. The capture image has geometric distortions like as rotation. Figure 4.1: Captured Image After the image capturing process, the image processing application takes over edge detection and the region detection process Figure 4. 2: Edge detection Figure4. 3: Region detection Department of Computer Science and Engineering Page 73
74 Corner Points: P0: X : 339 Y : 174 P1: X : 529 Y : 198 P2: X : 499 Y : 393 P3: X : 309 Y : 363 Figure 4.4: Corner Dection In here Homogeneous transformations are used for perspective camera transformations. This is the final solution calculate by given image from web camera. Decode text: Jan No of blocks : 12 x 12 Figure 4.5: Decoded Image Code words: [1]: 107 [2]: 98 [3]: 111 [4]: 129 [5]: 115 [6]: 135 [7]: 43 [8]: 155 [9]: 226 [10]: 99 [11]: 10 [12]: 77 Department of Computer Science and Engineering Page 74
75 Chapter 5 Discussion Around the world more and more ticketing systems are now being automated. Our closest neighbor India has already automated some of its train ticketing systems. So it is important that we improve the traditional systems in Sri Lanka to keep up with the changing technology. Also we had to take in to consideration the cost involved. Some of the automation systems used by the western countries are costly and they do not suit the Sri Lankan context. Most of these systems are smart card based systems. Although the smart card systems are a little bit faster than the system we have proposed the cost of a smartcard based system out weights the benefits when considering a Sri Lankan context. The biggest challenge we faced was to process the 2D barcode captured by the web cam. This first problem was the resolution of the cellular phones which the 2D barcode was captured from. The resolution varies from model to model and manufacturer to manufacturer. Since we had no control over this we decided to use a standard image size for all phone types. Also the intensity of the lighting on cellular phones differs according to make and model. This provided a significant problem in setting the threshold values. (The threshold value was used to identify the image inside the screen). But after some experimentation we found out that by capturing the image in an enclosed space with no interference from other light sources, this problem could be solved. The problem of a tilted image was rectified by the usage of some image processing techniques. But this correction had and added processing time penalty for the final decoding process. The there was always the problem of noise in the captured image. This problem was also resolved by the usage of some well known techniques. Department of Computer Science and Engineering Page 75
76 The main aim of the system was to reduce the time taken to obtain a ticket. The first step towards the speed up was to remove the monetary transaction at that time and, make the transaction pre paid. When the transaction is prepaid the authentication problem arises. Since we wanted to speed up this process also we replaced the traditional username password authentication system with the Semacode based authentication system. The system also comprises of a web portal which allows the user to check for schedules and reloading the account. Checking of schedules and reloading the account can be also accessed by way of a J2ME application which can be installed to the user s cellular phone. These features were designed so as to give the users a better service and to make the interaction with the whole system more pleasant. As for the security aspects of the system, the J2ME application uses DES encryption when communicating with the web service. Inside the web portal MD5 hashing is used to ensure that the data user provides will not fall in to the hands of a third party. The user interface at the automated ticketing machine will be somewhat similar to an Automated Teller Machine (ATM) interface. The rational behind using a similar interface is that the users will be more comfortable with a user interface similar to a user interface that they already know, than to a completely new one. The web portal is localized in to Sinhala and English so that it may be more user friendly. Department of Computer Science and Engineering Page 76
77 Chapter 6 Conclusion Up to now Sri Lanka s railway system had been using a manual ticket issuing system. There were no automated ticketing systems operational in Sri Lanka (for Sri Lankan railways). This led to many delays and the train commuters had to endure difficulties when purchasing their tickets. MobiTiki addresses this problem by trying to automate the whole process of ticket issuing. MobiTiki attempts address the issue of delay at ticket counters in two ways. First since this is a pre paid system the time taken to do an actual monetary transaction is saved. Secondly it is possible to have multiple ticketing machines at one station, which will be more cost effective than having multiple ticketing counters. In order to reduce the time delay further the usual username password authentication was replaced with a Semacode based authentication system. The Semacode system is much faster than typing the username and password. Although a smart card system is also applicable in this scenario, considering the cost of a smart card system the Semacode system is highly cost effective. Department of Computer Science and Engineering Page 77
78 Chapter 7 Future Work Image Decoding 1. Semacode Decoding Algorithm has to be enhanced to work under different light conditions. The Decoding algorithm sometimes faces difficulties in decoding the captured image when the light conditions vary. The performance of the algorithm is influenced by the phone s display size, light intensity of the display, and the distance from the mobile phone to the web cam. Therefore the decoding algorithm has to be improved in such a way that the influence from these conditions is minimized. 2. Implementation of the Normalization for rotation in the Semacode Decoding algorithm The Decoding algorithm is developed in such a way that the result is not changed even the image is rotated about 20 degrees. This feature is provided by both the Image Enhancement module and the Semacode Decoder module. However this is not accurate if the image is rotated more than 20 degrees. Therefore the next step is to implement normalization for rotation of the Semacode. 3. Implementation of Haar Training Haar Training is a mechanism achieve rapid object detection. This follows a neural network based approach for object detection. Therefore this can be implemented in the decoding algorithm for improving the decoding speed. Department of Computer Science and Engineering Page 78
79 MobiTiki Mobile Implement Multi Language support Currently the Mobile Application supports only in English medium. Since the application is going to be used by local people it will be much helpful if at least the application includes Sinhala and Tamil language support. Terminal Application Implement Multi Language support This is similar to the Mobitiki Mobile. Department of Computer Science and Engineering Page 79
80 References [1] Semacode Technical Paper. Semacode Corporation. Available: Accessed : June 16th 2007 [2] Semcode Usage latest barcode technology called semacode/ Accessed : June 18th 2007 [3] Data Matrix 2D Barcode Accessed : July 28th [5] Semacode Vs QR code l/archives/ /0122.html Accessed : July 15th [4] Future of Mobile Barcodes the future of barcodes hyperlink tooffline world/ Accessed : June 23th 2007 [6] Mobiles with semacode the future of barcodes hyperlink tooffline world/ Accessed : July 27th Department of Computer Science and Engineering Page 80
81 [7] Industry usage of semacode in magazines & clothes Accessed : July 11th [8] Chiltern Railways Accessed : July 13th [9] Japanese Airlines Accessed : July 15th [10] Thresholding concept Accessed: August 16th 2007 [11]Edge Detection Methods Accessed: November 24th 2007 [12]CipherCode: A Visual Tagging SDK with Encryption and Parameterization Department of Computer Science University of Cape Town Accessed : June 21st 2007 [13] ISO/IEC Information technology Automatic identification and data capture techniques Bar code symbology specifications DataMatrix Department of Computer Science and Engineering Page 81
82 [14] Canny Edge Detection Accessed: August 16th 2007 [15] Edge Detection Methods Accessed : November 15th [16] Sobel Edge Detection Accessed : November 18th [17] An Introduction to HTTPS connection in J2ME Accessed : August 15th [18] Certificate management in J2ME Accessed : August 15th [19]The Bouncycastle home page Accessed : November 25th [20] Using the DES encryption algorithm Accessed : January 3 rd [21] Using Bouncycastle class library Accessed : January 3 rd Department of Computer Science and Engineering Page 82
83 [22] J2me polish home page Accessed : January 8 th [23]How to use style sheets in J2ME Accessed : January 20 th Department of Computer Science and Engineering Page 83
84 Appendix A ECC 200 Encodation C40 Encodation character set Department of Computer Science and Engineering Page 84
85 Text Encodation character set Department of Computer Science and Engineering Page 85
86 ASCII encodation values Department of Computer Science and Engineering Page 86
87 Appendix B Use of AJAX Within the Web portal we are using AJAX for dynamically refreshing the News, Announcements and Time table Ticker. There are number of advantages of using AJAX. Those who use pages with Ajax will find that they operate more like an application rather than a standalone program. With normal web pages, users will have to click on a link if they wish to refresh the page. This can become tedious and inefficient. With Ajax, the page can be refreshed dynamically. The response of the interface to the actions of the user is much faster. Even though Ajax has not yet reached its full capabilities, it is easy to see what is capable of. Another issue that surrounds Ajax is the use of bandwidth. When HTML is generated within a browser via JavaScript, the Ajax pages can seem to load much faster. The reason for this is because the payload is much smaller. One example of this is a set in which numerous pages exist. When Ajax is used, the table structure connected to TD can be produced in a browser, and it doesn't have to be initiated with the first part of the document. It should also be noted that some web applications will load pieces of event handlers as the program operates. This technique is useful because it reduces the demand for bandwidth. Since more applications have become complex, this is an issue that must be addressed in the future. The separation of data and formats is also important. When Ajax is used, it allows programmers to make a separation between the methods and formats they use to deliver information via the Internet. While many people simply consider Ajax to be a bundle of languages when they first encounter it, it is the development process that makes it so popular. Some of the things that will be Department of Computer Science and Engineering Page 87
88 separated are the content that will be placed within XML, and the structure of the web page. In addition to this, the style elements of the page will also be taken into consideration. This is important because it allows the web applications to be much more efficient. At the same time, there are a number of disadvantages to Ajax. These disadvantages must be overcome if the technique is to be a success. One of the biggest problems is the integration of browsers. The page that is dynamically created will not automatically register with the history engine of the browser, so pressing the "back" button might now allow them to get what they want. There are a number of solutions that developers have used for this problem. They may sometimes use IFRAMEs that are invisible to create changes that will be connected to the history of the "back" browser button. One good example of a system that uses invisible IFRAMEs is Google Maps. Once they perform a search using this system, the results will be pulled back into an element that may be visible to the user. It should be noted that the World Wide Web Consortium prefers to use objects rather than iframes. Another problem that Ajax developers are having is bookmarks. When Ajax is used, it is hard for the user to bookmark the state of the web page. There are a number of solutions that have been proposed for this problem, and some utilize the URL fragment identifier. This will allow the users to return to the web page or application at any state. Department of Computer Science and Engineering Page 88
QR Codes and Other Symbols Seen in Mobile Commerce
QR Codes and Other Symbols Seen in Mobile Commerce This section describes bar code symbols frequently encountered in mobile commerce campaigns. and typical applications for each are listed. One symbology,
Barcodes principle. Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague
Barcodes principle Identification systems (IDFS) Department of Control and Telematics Faculty of Transportation Sciences, CTU in Prague Contents How does it work? Bulls eye code PostNet 1D Bar code 2D
Software Requirements Specification For. Prepared by Group 04
Software Requirements Specification For MobiTiki Version 1.0 Prepared by Group 04 Atukorala A.U.B. (040023H) Priyadasraha G.V.J. (040283D) Dissanayake C.P. (040080D) Kumara M.G.C.P. (040203K) Table of
How To Fix Out Of Focus And Blur Images With A Dynamic Template Matching Algorithm
IJSTE - International Journal of Science Technology & Engineering Volume 1 Issue 10 April 2015 ISSN (online): 2349-784X Image Estimation Algorithm for Out of Focus and Blur Images to Retrieve the Barcode
Achieving 5 Nines Business Process Reliability With Barcodes. Michael Salzman, VP Marketing (408) 737-7092 sales@inliteresearch.
Achieving 5 Nines Business Process Reliability With Barcodes Michael Salzman, VP Marketing (408) 737-7092 [email protected] Introduction All workflows rely on critical data to trigger and direct
Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition
Bildverarbeitung und Mustererkennung Image Processing and Pattern Recognition 1. Image Pre-Processing - Pixel Brightness Transformation - Geometric Transformation - Image Denoising 1 1. Image Pre-Processing
Convolution. 1D Formula: 2D Formula: Example on the web: http://www.jhu.edu/~signals/convolve/
Basic Filters (7) Convolution/correlation/Linear filtering Gaussian filters Smoothing and noise reduction First derivatives of Gaussian Second derivative of Gaussian: Laplacian Oriented Gaussian filters
SE05: Getting Started with Cognex DataMan Bar Code Readers - Hands On Lab Werner Solution Expo April 8 & 9
SE05: Getting Started with Cognex DataMan Bar Code Readers - Hands On Lab Werner Solution Expo April 8 & 9 Learning Goals: At the end of this lab, the student should have basic familiarity with the DataMan
Barcode Based Automated Parking Management System
IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online): 2321-0613 Barcode Based Automated Parking Management System Parth Rajeshbhai Zalawadia 1 Jasmin
CHAPTER I INTRODUCTION
CHAPTER I INTRODUCTION 1.1 Introduction Barcodes are machine readable symbols made of patterns and bars. Barcodes are used for automatic identification and usually are used in conjunction with databases.
LIST OF CONTENTS CHAPTER CONTENT PAGE DECLARATION DEDICATION ACKNOWLEDGEMENTS ABSTRACT ABSTRAK
vii LIST OF CONTENTS CHAPTER CONTENT PAGE DECLARATION DEDICATION ACKNOWLEDGEMENTS ABSTRACT ABSTRAK LIST OF CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF NOTATIONS LIST OF ABBREVIATIONS LIST OF APPENDICES
jorge s. marques image processing
image processing images images: what are they? what is shown in this image? What is this? what is an image images describe the evolution of physical variables (intensity, color, reflectance, condutivity)
REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING
REAL TIME TRAFFIC LIGHT CONTROL USING IMAGE PROCESSING Ms.PALLAVI CHOUDEKAR Ajay Kumar Garg Engineering College, Department of electrical and electronics Ms.SAYANTI BANERJEE Ajay Kumar Garg Engineering
WHITE PAPER DECEMBER 2010 CREATING QUALITY BAR CODES FOR YOUR MOBILE APPLICATION
DECEMBER 2010 CREATING QUALITY BAR CODES FOR YOUR MOBILE APPLICATION TABLE OF CONTENTS 1 Introduction...3 2 Printed bar codes vs. mobile bar codes...3 3 What can go wrong?...5 3.1 Bar code Quiet Zones...5
Customer Barcoding Technical Specifications
Customer Barcoding Technical Specifications June 1998 Contents Revised 3 Aug 2012 Introduction 2 Key features of the barcoding system 2 About this document 2 Why we are introducing Customer Barcoding 3
Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture.
Implementation of Canny Edge Detector of color images on CELL/B.E. Architecture. Chirag Gupta,Sumod Mohan K [email protected], [email protected] Abstract In this project we propose a method to improve
The ID Technology. Introduction to GS1 Barcodes
The ID Technology Introduction to GS1 Barcodes Contents GS1 - The Basics 2 Starting Point - GTIN 3 GTIN Labels for Cases - ITF-14 5 Adding More Data - GS1 128 6 GS1 Application Identifiers 7 Logistics
Making Multiple Code Reading Easy. Webinar
Making Multiple Code Reading Easy Webinar Today s Agenda Introduction How DataMan Makes Multiple Code Reading Easy Multiple Code Reading Applications Product Demonstration Videos Q&A 2 Introduction Introduction
Analecta Vol. 8, No. 2 ISSN 2064-7964
EXPERIMENTAL APPLICATIONS OF ARTIFICIAL NEURAL NETWORKS IN ENGINEERING PROCESSING SYSTEM S. Dadvandipour Institute of Information Engineering, University of Miskolc, Egyetemváros, 3515, Miskolc, Hungary,
Advanced QR Code Based Identity Card: A New Era for Generating Student ID Card in Developing Countries
2014 First International Conference on Systems Informatics, Modelling and Simulation Advanced QR Code Based Identity Card: A New Era for Generating Student ID Card in Developing Countries Md. Sanaul Haque,
The Scientific Data Mining Process
Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In
Automatic Recognition Algorithm of Quick Response Code Based on Embedded System
Automatic Recognition Algorithm of Quick Response Code Based on Embedded System Yue Liu Department of Information Science and Engineering, Jinan University Jinan, China [email protected] Mingjun Liu
Optical Character Recognition (OCR)
History of Optical Character Recognition Optical Character Recognition (OCR) What You Need to Know By Phoenix Software International Optical character recognition (OCR) is the process of translating scanned
Memory Systems. Static Random Access Memory (SRAM) Cell
Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled
Selecting the Correct Automatic Identification & Data Collection Technologies for your Retail Distribution Center Application
Selecting the Correct Automatic Identification & Data Collection Technologies for your Retail Distribution Center Application Have camera/image-based code readers replaced traditional laser scanners? Has
Identification of products that require activation at the Pointof-sale. www.gs1.eu The global language of business. in Europe
in Europe Identification of products that require activation at the Pointof-sale Technical specifications for GS1 DataBar Version 1.0, November 2014 www.gs1.eu The global language of business Contents
A Barcode Primer for Manufacturers Dr. Peter Green BellHawk Systems Corporation
A Barcode Primer for Manufacturers Dr. Peter Green BellHawk Systems Corporation Introduction This document is an introduction to the principles and practice of barcode scanning as it relates to a manufacturing
Demonstration of Barcodes to QR Codes through Text Using Document Software
Demonstration of Barcodes to QR Codes through Text Using Document Software Dr. Neeraj Bhargava 1, Anchal kumawat 2, Dr. Ritu Bhargava 3 Associate Professor, Department of Computer Science, School of Engineering
Image Compression through DCT and Huffman Coding Technique
International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347 5161 2015 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Research Article Rahul
How To Use Trackeye
Product information Image Systems AB Main office: Ågatan 40, SE-582 22 Linköping Phone +46 13 200 100, fax +46 13 200 150 [email protected], Introduction TrackEye is the world leading system for motion
Encoders for Linear Motors in the Electronics Industry
Technical Information Encoders for Linear Motors in the Electronics Industry The semiconductor industry and automation technology increasingly require more precise and faster machines in order to satisfy
Ian Hawdon Physics Page 1 of 20 Barcodes
Barcodes Page 1 of 20 Page 2 of 20 Contents: Synopsis: What is a barcode?: More about a Laser: Digital Data: Types of Barcode: Linear: U.P.C. (Universal Product Code): CODE 128: MSI: 2D Barcodes: Data
Canny Edge Detection
Canny Edge Detection 09gr820 March 23, 2009 1 Introduction The purpose of edge detection in general is to significantly reduce the amount of data in an image, while preserving the structural properties
White Paper. "See" what is important
Bear this in mind when selecting a book scanner "See" what is important Books, magazines and historical documents come in hugely different colors, shapes and sizes; for libraries, archives and museums,
Enhanced Bar Code Engine
Enhanced Bar Code Engine Introduction Access to the Kofax Standard bar code recognition engine is provided through ImageControls-based applications and ISIS-based applications. In addition to the standard
EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines
EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation
Intelligent Database Monitoring System using ARM9 with QR Code
Intelligent Database Monitoring System using ARM9 with QR Code Jyoshi Niklesh 1, Dhruva R. Rinku 2 Department of Electronics and Communication CVR College of Engineering, JNTU Hyderabad Hyderabad, India
The Layman's Guide to ANSI, CEN, and ISO Bar Code Print Quality Documents
The Layman's Guide to ANSI, CEN, and ISO Bar Code Print Quality Documents AIM, Inc. 634 Alpha Drive Pittsburgh, PA 15238-2802 Phone: +1 412 963 8588 Fax: +1 412 963 8753 Web: www.aimglobal.org This Guideline
Face detection is a process of localizing and extracting the face region from the
Chapter 4 FACE NORMALIZATION 4.1 INTRODUCTION Face detection is a process of localizing and extracting the face region from the background. The detected face varies in rotation, brightness, size, etc.
Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections
Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections Maximilian Hung, Bohyun B. Kim, Xiling Zhang August 17, 2013 Abstract While current systems already provide
OCR and 2D DataMatrix Specification for:
OCR and 2D DataMatrix Specification for: 2D Datamatrix Label Reader OCR & 2D Datamatrix Standard (Multi-read) Camera System Auto-Multi Reading Camera System Auto-Multi Reading Camera System (Hi-Res) Contents
MB-C: Check-in Mobile Application using Barcodes
78 Mohammed Samaka, Qatar University, Doha, Qatar, [email protected] Mohammed Hassan, Qatar University, Doha, Qatar, [email protected] Ahmed Ould Mohamedou, and Mohammed Al-Sada, Qatar University Abstract
ADVANCES IN AUTOMATIC OPTICAL INSPECTION: GRAY SCALE CORRELATION vs. VECTORAL IMAGING
ADVANCES IN AUTOMATIC OPTICAL INSPECTION: GRAY SCALE CORRELATION vs. VECTORAL IMAGING Vectoral Imaging, SPC & Closed Loop Communication: The Zero Defect SMD Assembly Line Mark J. Norris Vision Inspection
A whitepaper on: Invisible and Fluorescing Bar Code Printing and Reading
A whitepaper on: Invisible and Fluorescing Bar Code Printing and Reading Important technical considerations that are the key to successful implementations Version 1.03 P a g e 2 OVERVIEW Background: Inks
Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras
Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras W3A.5 Douglas Chai and Florian Hock Visual Information Processing Research Group School of Engineering and Mathematics Edith
Application of Data Matrix Verification Standards
Data Matrix symbol verification at its most basic level eliminates the subjective quality determination that causes discord between marking and reading suppliers, and replaces those subjective opinions
Automatic Labeling of Lane Markings for Autonomous Vehicles
Automatic Labeling of Lane Markings for Autonomous Vehicles Jeffrey Kiske Stanford University 450 Serra Mall, Stanford, CA 94305 [email protected] 1. Introduction As autonomous vehicles become more popular,
Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF
Autonomous Advertising Mobile Robot for Exhibitions, Developed at BMF Kucsera Péter ([email protected]) Abstract In this article an autonomous advertising mobile robot that has been realized in
Making Better Medical Devices with Multisensor Metrology
Making Better Medical Devices with Multisensor Metrology by Nate J. Rose, Chief Applications Engineer, Optical Gaging Products (OGP) Multisensor metrology is becoming a preferred quality control technology
In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data.
MATHEMATICS: THE LEVEL DESCRIPTIONS In mathematics, there are four attainment targets: using and applying mathematics; number and algebra; shape, space and measures, and handling data. Attainment target
Back to Basics: Introduction to Industrial Barcode Reading
Back to Basics: Introduction to Industrial Barcode Reading 1 Agenda What is a barcode? History 1 D codes Types and terminology 2 D codes Types and terminology Marking Methods Laser Scanning Image Based
product overview pco.edge family the most versatile scmos camera portfolio on the market pioneer in scmos image sensor technology
product overview family the most versatile scmos camera portfolio on the market pioneer in scmos image sensor technology scmos knowledge base scmos General Information PCO scmos cameras are a breakthrough
Layman's Guide to ANSI X3.182
Layman's Guide to ANSI X3.182 This Guideline was developed by AIM USA, an affiliate of AIM International, the world-wide trade association for manufacturers and providers of automatic data collection
Contents. Bar code data transmission specifications...b-1. A-61099 October 1997 i
Contents Bar Code Made Easy 1 What is a bar code?.......................................... 1 Which bar code type should I use?............................... 2 How are bar codes read?.......................................
Visualization of 2D Domains
Visualization of 2D Domains This part of the visualization package is intended to supply a simple graphical interface for 2- dimensional finite element data structures. Furthermore, it is used as the low
A Proposal for OpenEXR Color Management
A Proposal for OpenEXR Color Management Florian Kainz, Industrial Light & Magic Revision 5, 08/05/2004 Abstract We propose a practical color management scheme for the OpenEXR image file format as used
Image Segmentation and Registration
Image Segmentation and Registration Dr. Christine Tanner ([email protected]) Computer Vision Laboratory, ETH Zürich Dr. Verena Kaynig, Machine Learning Laboratory, ETH Zürich Outline Segmentation
A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA
A PHOTOGRAMMETRIC APPRAOCH FOR AUTOMATIC TRAFFIC ASSESSMENT USING CONVENTIONAL CCTV CAMERA N. Zarrinpanjeh a, F. Dadrassjavan b, H. Fattahi c * a Islamic Azad University of Qazvin - [email protected]
Personal Identity Verification (PIV) IMAGE QUALITY SPECIFICATIONS FOR SINGLE FINGER CAPTURE DEVICES
Personal Identity Verification (PIV) IMAGE QUALITY SPECIFICATIONS FOR SINGLE FINGER CAPTURE DEVICES 1.0 SCOPE AND PURPOSE These specifications apply to fingerprint capture devices which scan and capture
Drawing a histogram using Excel
Drawing a histogram using Excel STEP 1: Examine the data to decide how many class intervals you need and what the class boundaries should be. (In an assignment you may be told what class boundaries to
APPLICATION NOTE. Atmel AT01180: Barcode and QR code scanner User Guide. Atmel 32-bit Microcontroller. Features. Introduction
APPLICATION NOTE Atmel AT01180: Barcode and QR code scanner User Guide Features Image processing and decoder for barcode & QR code Libdecodeqr and OpenCV based IAR Embedded Workbench Support continuous
Digital Imaging and Multimedia. Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University
Digital Imaging and Multimedia Filters Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What are Filters Linear Filters Convolution operation Properties of Linear Filters Application
Solving Simultaneous Equations and Matrices
Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering
Evolving Bar Codes. Y398 Internship. William Holmes
Evolving Bar Codes Y398 Internship By William Holmes Table of contents Introduction: What is RFID? Types of Tags: Advantages of Tags: RFID applications Conclusion: Introduction: Bar codes have evolved
Scanners and How to Use Them
Written by Jonathan Sachs Copyright 1996-1999 Digital Light & Color Introduction A scanner is a device that converts images to a digital file you can use with your computer. There are many different types
Chapter 11 I/O Management and Disk Scheduling
Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 11 I/O Management and Disk Scheduling Dave Bremer Otago Polytechnic, NZ 2008, Prentice Hall I/O Devices Roadmap Organization
Digital image processing
746A27 Remote Sensing and GIS Lecture 4 Digital image processing Chandan Roy Guest Lecturer Department of Computer and Information Science Linköping University Digital Image Processing Most of the common
Common Core Unit Summary Grades 6 to 8
Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations
Synthetic Sensing: Proximity / Distance Sensors
Synthetic Sensing: Proximity / Distance Sensors MediaRobotics Lab, February 2010 Proximity detection is dependent on the object of interest. One size does not fit all For non-contact distance measurement,
Math Review. for the Quantitative Reasoning Measure of the GRE revised General Test
Math Review for the Quantitative Reasoning Measure of the GRE revised General Test www.ets.org Overview This Math Review will familiarize you with the mathematical skills and concepts that are important
A Method of Caption Detection in News Video
3rd International Conference on Multimedia Technology(ICMT 3) A Method of Caption Detection in News Video He HUANG, Ping SHI Abstract. News video is one of the most important media for people to get information.
Robot Perception Continued
Robot Perception Continued 1 Visual Perception Visual Odometry Reconstruction Recognition CS 685 11 Range Sensing strategies Active range sensors Ultrasound Laser range sensor Slides adopted from Siegwart
Matt Cabot Rory Taca QR CODES
Matt Cabot Rory Taca QR CODES QR codes were designed to assist in the manufacturing plants of the automotive industry. These easy to scan codes allowed for a rapid way to identify parts and made the entire
An Implementation of a High Capacity 2D Barcode
An Implementation of a High Capacity 2D Barcode Puchong Subpratatsavee 1 and Pramote Kuacharoen 2 Department of Computer Science, Graduate School of Applied Statistics National Institute of Development
Frequently Asked Questions
Advanced Function Presentation Consortium Bar Code Object Content Architecture Frequently Asked AFPC-0011-02 Questions Implementation Tips for Producing Bar Codes with the Bar Code Object Content Architecturee
Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches
Modelling, Extraction and Description of Intrinsic Cues of High Resolution Satellite Images: Independent Component Analysis based approaches PhD Thesis by Payam Birjandi Director: Prof. Mihai Datcu Problematic
Data Storage. Chapter 3. Objectives. 3-1 Data Types. Data Inside the Computer. After studying this chapter, students should be able to:
Chapter 3 Data Storage Objectives After studying this chapter, students should be able to: List five different data types used in a computer. Describe how integers are stored in a computer. Describe how
SECTION 2-1: OVERVIEW SECTION 2-2: FREQUENCY DISTRIBUTIONS
SECTION 2-1: OVERVIEW Chapter 2 Describing, Exploring and Comparing Data 19 In this chapter, we will use the capabilities of Excel to help us look more carefully at sets of data. We can do this by re-organizing
Understanding barcodes. www.brightpearl.com/ca101
Understanding barcodes This ebook gives an overview of product codes, barcodes, scanners and describes where barcode management could fit in your business. www.brightpearl.com/ca0 to Understanding barcodes
CAMI Education linked to CAPS: Mathematics
- 1 - TOPIC 1.1 Whole numbers _CAPS curriculum TERM 1 CONTENT Mental calculations Revise: Multiplication of whole numbers to at least 12 12 Ordering and comparing whole numbers Revise prime numbers to
N O T E S. A Reed Solomon Code Magic Trick. The magic trick T O D D D. M A T E E R
N O T E S A Reed Solomon Code Magic Trick T O D D D. M A T E E R Howard Community College Columbia, Maryland 21044 [email protected] Richard Ehrenborg [1] has provided a nice magic trick that can be
Edge detection. (Trucco, Chapt 4 AND Jain et al., Chapt 5) -Edges are significant local changes of intensity in an image.
Edge detection (Trucco, Chapt 4 AND Jain et al., Chapt 5) Definition of edges -Edges are significant local changes of intensity in an image. -Edges typically occur on the boundary between two different
ANALYTIC HIERARCHY PROCESS (AHP) TUTORIAL
Kardi Teknomo ANALYTIC HIERARCHY PROCESS (AHP) TUTORIAL Revoledu.com Table of Contents Analytic Hierarchy Process (AHP) Tutorial... 1 Multi Criteria Decision Making... 1 Cross Tabulation... 2 Evaluation
Grade 5 Math Content 1
Grade 5 Math Content 1 Number and Operations: Whole Numbers Multiplication and Division In Grade 5, students consolidate their understanding of the computational strategies they use for multiplication.
white paper JANUARY 2011 The Next- Warehouse Scanning and the Emergence of 2D Bar Codes
JANUARY 2011 The Next- Generation Warehouse Long Range Scanning and the Emergence of 2D Bar Codes Table of Contents Introduction...3 Bar coding basics...4 Bar coding in the warehouse...4 Warehouse application
Three Channel Optical Incremental Encoder Modules Technical Data
Three Channel Optical Incremental Encoder Modules Technical Data HEDS-9040 HEDS-9140 Features Two Channel Quadrature Output with Index Pulse Resolution Up to 2000 CPR Counts Per Revolution Low Cost Easy
Signature Region of Interest using Auto cropping
ISSN (Online): 1694-0784 ISSN (Print): 1694-0814 1 Signature Region of Interest using Auto cropping Bassam Al-Mahadeen 1, Mokhled S. AlTarawneh 2 and Islam H. AlTarawneh 2 1 Math. And Computer Department,
Produce Traceability Initiative Best Practices for Formatting Hybrid Pallet Labels
Produce Traceability Initiative Best Practices for Formatting Hybrid Pallet Labels About this Best Practice Guideline (Revision 2.6) Best practices are generally accepted, informally standardized techniques,
RS MDM. Integration Guide. Riversand
RS MDM 2009 Integration Guide This document provides the details about RS MDMCenter integration module and provides details about the overall architecture and principles of integration with the system.
Computational Foundations of Cognitive Science
Computational Foundations of Cognitive Science Lecture 15: Convolutions and Kernels Frank Keller School of Informatics University of Edinburgh [email protected] February 23, 2010 Frank Keller Computational
Technical guide 1. june 2011
Technical guide 1. june 2011 Bar code labelling on primary and secondary packages for pharmaceutical products patient safety Preface This technical guide is designed to help companies put bar code labels
PERFORMANCE ANALYSIS OF HIGH RESOLUTION IMAGES USING INTERPOLATION TECHNIQUES IN MULTIMEDIA COMMUNICATION SYSTEM
PERFORMANCE ANALYSIS OF HIGH RESOLUTION IMAGES USING INTERPOLATION TECHNIQUES IN MULTIMEDIA COMMUNICATION SYSTEM Apurva Sinha 1, Mukesh kumar 2, A.K. Jaiswal 3, Rohini Saxena 4 Department of Electronics
The Keyboard One of the first peripherals to be used with a computer and is still the primary input device for text and numbers.
Standard Methods of Input Keyboard Mouse Input device enables you to input information and commands into the computer. The Keyboard One of the first peripherals to be used with a computer and is still
CircumSpect 360 Degree Imaging and Inspection Technology Overview
CircumSpect 360 Degree Imaging and Inspection Technology Overview Prepared by: Machine Vision Consulting, Inc. Contact: Joe Gugliotti 7 Old Towne Way Sturbridge, MA 01518 (978) 551-4160 [email protected]
Assessment of Camera Phone Distortion and Implications for Watermarking
Assessment of Camera Phone Distortion and Implications for Watermarking Aparna Gurijala, Alastair Reed and Eric Evans Digimarc Corporation, 9405 SW Gemini Drive, Beaverton, OR 97008, USA 1. INTRODUCTION
SIGNATURE VERIFICATION
SIGNATURE VERIFICATION Dr. H.B.Kekre, Dr. Dhirendra Mishra, Ms. Shilpa Buddhadev, Ms. Bhagyashree Mall, Mr. Gaurav Jangid, Ms. Nikita Lakhotia Computer engineering Department, MPSTME, NMIMS University
Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall.
Web Analytics Understand your web visitors without web logs or page tags and keep all your data inside your firewall. 5401 Butler Street, Suite 200 Pittsburgh, PA 15201 +1 (412) 408 3167 www.metronomelabs.com
Tracking of Small Unmanned Aerial Vehicles
Tracking of Small Unmanned Aerial Vehicles Steven Krukowski Adrien Perkins Aeronautics and Astronautics Stanford University Stanford, CA 94305 Email: [email protected] Aeronautics and Astronautics Stanford
