This is a project required by college education administration in my undergraduate college for online marking exam papers. My part is recognition of hand-written ID and save the image into database. There are two phases of it, first, preprocessing image for fault tolerance even in a harsh environment like lighting, orientation and slightly rotations of each paper and second, recognition. For the first part, in order to place image vertically, I placed a rectangular solid mark on a specific area of each paper, then the software will use canny edge detector to search for that mark every time and tilt the image based on the level of erectness. For the lighting, I used opencv image threshold to screen colors into pure black and pure white. As for the recognition part, my first intention is using a 3*3 grids to detect the occupancy of each and map them to the possible output. However, the first try failed due to the rate of correctness is beyond the scope. My second idea was from a course I took in Coursera, Machine Learning by Andrew Ng. One of the homework of Logistic Regression is just doing this kind of recognition. Since this is my first computer-science related project, I did learn a lot of image presentation and ways to deal with image in computer.