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.
Is this a new kind barcode, I've never seen it befor. And I want to know how to recognise this bar codes in java? Can it support multiple platform just like other barcode?