Cameras in mobile phones are no longer used just for taking snap shots. The rapid growth of digital image processing has led to its growth of application in mobile phones too. The cameras in mobile phones can now be used to detect visual code markers in an image and eventually access the information embedded to it. A scenario for such an image processing is when one takes an image of the visual code marker next to the advertisement of a movie. With this visual code marker the mobile phone can decode the image and access the backend database to know the local screening time of the movie. Thus for a camera to detect the visual code marker in an image, it needs an implementation of unique algorithms. These algorithms mostly have the four main stages to ultimately retrieve its data. :
The main four stages are pre-processing and segmentation, region analysis, registration and thresholding. All these stages are based upon visual code markers, how they are detected and decoded. Visual code markers are two dimensional bar codes which consists of an 11*11 square comprised of black and white bits. Two guide bars and three guide points are made fixed points for its digital detection. Thus out of 121, 83 contains specific information. These are read from top to bottom, right to left.
The first stage pre-processing and segmentation aims at transforming the captured image to a binary image to clearly identify the key elements of a visual code marker. The captured 640*480 RGB image is converted to a 640*480 binary image highlighting the key elements such as guide bars and fixed corners in the code marker. Next the image is enhanced to reduce its noise and smoothen it by applying morphological open-close filters which produces a grey scale image. After all the processing in the first stage the resulting will be a binary image which identifies the key element of the code marker. The next stage does a region analysis where each key elements of code marker are localized and grouped. The short and long guide bars are identified first, and then with its properties the fixed corner regions are found. These region analyses are made either based on intrinsic properties or geometric relationship between two regions. The registration is for correction for scaling and distortion in the image since it can be taken at a variety of distance and angles. If multiple code markers are present then registration is applied individually for each marker. After obtaining all the bit locations the last stage reads data bits from each grey-scale sub-image. Histogram equalization is applied to the grey-scale image obtain maximum contrast between 1- and 0- valued bits. Bit values are determined by applying threshold at the estimated bit centres. Thus the algorithm is invariant to scaling, rotation and blurring caused due to the device mobility. It is implemented in c and takes approximately 100ms to execute per image using a pentium4 3.40GHz computer.
Download this project in a Pdf format for your reference here: http://goo.gl/Fp6U7
The main four stages are pre-processing and segmentation, region analysis, registration and thresholding. All these stages are based upon visual code markers, how they are detected and decoded. Visual code markers are two dimensional bar codes which consists of an 11*11 square comprised of black and white bits. Two guide bars and three guide points are made fixed points for its digital detection. Thus out of 121, 83 contains specific information. These are read from top to bottom, right to left.
The first stage pre-processing and segmentation aims at transforming the captured image to a binary image to clearly identify the key elements of a visual code marker. The captured 640*480 RGB image is converted to a 640*480 binary image highlighting the key elements such as guide bars and fixed corners in the code marker. Next the image is enhanced to reduce its noise and smoothen it by applying morphological open-close filters which produces a grey scale image. After all the processing in the first stage the resulting will be a binary image which identifies the key element of the code marker. The next stage does a region analysis where each key elements of code marker are localized and grouped. The short and long guide bars are identified first, and then with its properties the fixed corner regions are found. These region analyses are made either based on intrinsic properties or geometric relationship between two regions. The registration is for correction for scaling and distortion in the image since it can be taken at a variety of distance and angles. If multiple code markers are present then registration is applied individually for each marker. After obtaining all the bit locations the last stage reads data bits from each grey-scale sub-image. Histogram equalization is applied to the grey-scale image obtain maximum contrast between 1- and 0- valued bits. Bit values are determined by applying threshold at the estimated bit centres. Thus the algorithm is invariant to scaling, rotation and blurring caused due to the device mobility. It is implemented in c and takes approximately 100ms to execute per image using a pentium4 3.40GHz computer.
Download this project in a Pdf format for your reference here: http://goo.gl/Fp6U7