Wednesday, July 1, 2020

License Plate Number Detection Term Paper - 1650 Words

License Plate Number Detection (Term Paper Sample) Content: LICENSE PLATE NUMBER DETECTION(Name)(Institutional Affiliation)(Date)Traffic accidents have been on the rise in the recent years. This has been attributed to the carelessness of the people mandate to handle the steering wheels of vehicles; drivers. Violation of traffic rules such as over speeding has only contributed to worsening of the road carnage. Various traffic law enforcement agencies have sought a myriad solution to curd the indiscipline of drivers. Technological advancement has enabled the use high resolution cameras to track down the vehicles whose drivers violate traffic rules. Just how do the cameras' images help and how is the information decoded to give viable interpretations? This paper works out to explain the algorithm used in such circumstances. 1 INTRODUCTIONIn order to curb the road carnage that is on the rise especially in developing countries, governments have employed various techniques such as increasing awareness to the public and specifically to drivers, as well as improving the quality of driving education and training. Penalties have also been imposed on traffic law offenders. Others have installed surveillance cameras along strategic places along the roads. These cameras are connected to sensors. The sensors detect when the speed limit is exceed and prompt the cameras to take shot of the number plates of the vehicles in context. The photos are then processed through certain software to identify the real plate numbers which are then sorted out from the list of registered vehicles in the country to identify the victims. The culprits suffer fines or other court sentence for violation of traffic rules. The key components of this kind of system are software to detect the plate numbers and identifying their owners, as well as the camera and sensor attached system. This paper will substantiate on ways of coming up with such an algorithm that can be used for the above mentioned traffic purposes. 2 IMAGE PROCESSINGThis is a p rocess that involves five steps in the verge of identifying the characters that incorporated in a certain license plate. The steps are as explained below. 1 Plate LocalizationWhen pictures by cameras are taken, they do not solely comprise the license plate characters only but also other irrelevant part. The other irrelevant noise should be excluded to avoid unnecessary noise on the picture when it is being processed (Gao, 2003). 2 Plate orientation and sizingThis step deals with resizing the plate into the appropriate and required size. It ensures that the desired dimensions are obtained from the photo of the license plate. 3 NormalizationThis is concerned with the adjustment of features such as contrast and brightness of the image. This will be discussed later in the paper in a detailed manner. 4 Character segmentationThis step deals with the segmentation of the characters, for instance in quadrants, so as to be able to determine the amount of individual characters that are present on a plate. 5 Optical character recognitionThis step deals with determining the value of a single character. Statistical techniques as well as feature extraction methods are employed. 3 ALGORITHMThis is the section in which I will describe the algorithm developed to detect license plate numbers. The assumptions made in this section are that the image has minimal noise in its present state and that they are in the correct orientation and consistency is observed in its size (FrÃÆ' ¶hlich, and Plate, 2000). 6 Normalization AlgorithmThis deals with the adjustment of contrast and brightness of the image. The assumption is that the image is saved as a bitmap file that has not been compressed. The process beginnings by accessing every pixel in the photo is it is in the RGB coded value. The RGB color model incorporates the addition of the red, blue and green colors to produce many other colors (FrÃÆ' ¶hlich, and Plate, 2000). The pixels in a row represent the height of the image whil e those in a column make up the width of the image in context (Sannella, 1994).In normalizing, each pixel is converted into a gray scale color. In digital imaging, a gray scale image is one that only carries intensity and whose pixels are single samples, each. The images in this state are also commonly referred to as the black and white images. They are made up of gray shades that range from the strongest intensity as white and the lowest intensity as black. During the transformation of images into gray scale, the original color brightness is determined on the RGB color basis. For instance, for an image whose original color is 40, i.e. ((20 + 0 + 100) / 3), there will be a replacement with (40, 40, 40) which will be observed as dark gray. The purpose of this kind of conversion is to reduce the amount of information to be handled (FrÃÆ' ¶hlich, and Plate, 2000). 1 Character segmentationThis is the stage where characters from the image are separated. This is to enable easy processi ng of the characters. The steps in character segmentation are described below. 1 Border removalIt involves removing of the border so as to reduce the amount of information to be processed. The process begins from the left and ends where the first white pixel shows (Forman, 2003). 2 Horizontal SegmentationThis is the phase where numerical characters are located after the reduction of noise (FrÃÆ' ¶hlich, and Plate, 2000). The first step is to try and detect the ending row and the starting row. It involves the creation of an algorithm that locates the two imaginary lines.Algorithm for horizontal segmentation// initialize variablesmaxblobstart à ¢Ã¢â‚¬  Ã‚  0maxblobend à ¢Ã¢â‚¬  Ã‚  0maxblob à ¢Ã¢â‚¬  Ã‚  0blobsize à ¢Ã¢â‚¬  Ã‚  0blobstart à ¢Ã¢â‚¬  Ã‚  0PreviousColor à ¢Ã¢â‚¬  Ã‚  WHITECurrentColor à ¢Ã¢â‚¬  Ã‚  WHITELoop through all rows of the imageCurrentColor à ¢Ã¢â‚¬  Ã‚ WHITELoop through each columnBeginIf Current Pixel equal BLACKCurrentColor à ¢Ã¢â‚¬  Ã‚  BLACKEnd LoopIf Current Color is Not Equal to Previous Color// Color is changing so either we are// starting a blob or ending a blobIf CurrentColor Equals BLACK then// this is start of a black blobPreviousColor à ¢Ã¢â‚¬  Ã‚  BLACKblobsize à ¢Ã¢â‚¬  Ã‚  0blobstart à ¢Ã¢â‚¬  Ã‚  Current Row Numberelse if CurrentColor Equals WHITE// this is the end of the blob// so record it// and see if this is the biggest blob// we have seen so farPreviousColor à ¢Ã¢â‚¬  Ã‚  WHITE// we just ended a blob, check if this// is the biggest blob we have seenif blobsize is Greater than maxblobmaxblob à ¢Ã¢â‚¬  Ã‚  blobsizemaxblobstart à ¢Ã¢â‚¬  Ã‚  blobstartmaxblobend à ¢Ã¢â‚¬  Ã‚  Current Rowelse// we are within the same blob since// the color did not change// if this is the black blob//then increment the size of this blobif CurrentColor equals BLACKblocksize++End Loop 3 Vertical segmentationAfter the location of the numerical segment, the task is then that of locating the start and the end of every digit in a vertical blob. The process begins from the most left column and advances into other subsequent columns (Gao, 2003). The pixels are observed and it is evident that the first pixels will be the white ones which are counted until a black one is arrived at. The process is repeated severally for accuracy purposes.// initialize variables// two variables digitstartn and digitendn for each digitdigitstart1,2,3,4,5,6 à ¢Ã¢â‚¬  Ã‚  0digitend1,2,3,4,5,6 à ¢Ã¢â‚¬  Ã‚  0start à ¢Ã¢â‚¬  Ã‚  0blobstart à ¢Ã¢â‚¬  Ã‚  0CurrentColor à ¢Ã¢â‚¬  Ã‚  WHITEPrevColor à ¢Ã¢â‚¬  Ã‚  WHITE// loop to find each digitLoop i from 0 to 5// go through the current column,Loop j from start to TotalColumns// we assume that there are no black pixels in this// column.CurrentColor à ¢Ã¢â‚¬  Ã‚  WHITE// step through each row of this column// check if there are any black pixels// notice that we should only check// between the start and end locations of// the biggest blob we found in previo us// stepLoop r from maxblobstart to maxblobendif Color in row r, column j is BLACKCurrentColor à ¢Ã¢â‚¬  Ã‚  BLACKend Loop// now if the current color is white then in// this colu...