Nowadays, some banks have mobile apps which can be used to deposit a check (cheque) using as
input a picture of the check. For this project, you will create a check image preparation program,
so that we can easily feed your output images to a simple check reader.
You will be given a set
of images of checks taken at different camera orientations and positions. The images may be a
check placed on some surface, or held by a person or a group of people holding a huge check. The
checks may be in different color and design.
Your program will extract only the relevant check
portion from the image and transform the check image so that it looks like the image is taken
while the camera is pointed directly towards the middle of check and the camera is parallel to the
check surface. Your program will display both the original image and the corresponding resultant
In designing your program:
• You may use all of the functionality of OpenCV, Deep Learning, Machine Learning and
• You must use functions mentioned in the following link as part of your project for perspective
https://docs.opencv.org/4.x/da/d54/group imgproc transform.html
You may find the tutorial in the following link to be useful:
https://docs.opencv.org/4.x/da/d6e/tutorial py geometric transformations.html
• Sample check images.
• The python script proj3.py for reading a folder of images as basic for your program.
• We will visually evaluate whether checks are correctly extracted, transformed and displayed
• We will visually check that the checks are not upside down.
• Bonus 5 points: If your program can read and display hand written amount correctly using
any Machine Learning or Deep Learning models.
What you need to submit
1. Python source code of your program. Please name it proj3.py.
2. Documentation that explains your approach and test results.