Today, most of desktops, laptops, tablets, and even smart phones are shipped with multi-core processors. The efficient utilization of multi-core processors computation power can't be achieved by developing traditional applications with sequential algorithms. Parallel algorithms utilize the capabilities of these processors, but need a special design to optimize the application to fit the hardware system. Image processing programs are heavy computational algorithms with very large amount of data. They are very well suited for parallel processing. This work presents a low cost and fast solution for optical mark recognition system working in multi-core processor system. The answer sheet is captured using a digital camera and the image is processed. Initially the borders of the sheet are located then the bubbles are detected. Fast techniques are used to detect the bubbles without a rotation correction. An adaptive binarization has been used to overcome the lighting effects of the camera based images. A classifier is trained to decide if the bubble is marked or not. A dataset of images under different rotations, illuminations, is used to train and test the system. An accuracy of 99.8% is obtained. The algorithms are analyzed and optimized for parallel computation on a multicore processor. The processing time is reduced to about 40% of the sequential computation time.
Read full abstract