A computer vision software to automatically meassure dimensions of flat surfaces in a photograph

The objective of this project is to develop a useful program with Computer Vision to automatically measure the lengths of the perimeters and the areas of the surfaces on a planar surface. However, there are certain challenges faced such as the existence of radial and perspective distortion as well a...

Full description

Saved in:
Bibliographic Details
Main Author: Wang, Lianjian
Other Authors: Lee Yong Tsui
Format: Final Year Project
Language:English
Published: Nanyang Technological University 2021
Subjects:
Online Access:https://hdl.handle.net/10356/149188
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:The objective of this project is to develop a useful program with Computer Vision to automatically measure the lengths of the perimeters and the areas of the surfaces on a planar surface. However, there are certain challenges faced such as the existence of radial and perspective distortion as well as photographs not having scales which will hinder an accurate measurement. The methodology adopted can be divided into pre-processing phase, processing phase as well as measurement phase. Distortions exist in photographs caused by imperfect lenses, and they need to be corrected as part of the pre-processing phase before we even move on to edge detection. In the processing phase, the OpenCV library was used as the primary tool for image processing. Lastly, in the measurement phase, a reference object with known dimensions is required to determine the dimensions of other objects in the photograph to overcome the challenge of photograph for not having scales. The program is tested on numerous objects with different shapes and sizes and the results show that the program can detect any polygon shape object. The problems encountered were unable to detect certain edges due to similar pixels intensity between the background and the object. The threshold used in HoughLinesP function was unable to cater to every image perfectly. Therefore, more lenient threshold is used to enable straight line detection along shorter sides of the polygon, but this inevitably reduced the criteria to be considered a straight line hence producing undesirable “straight lines”. The future work includes a more user-friendly way to filter the desired object especially objects with multiple contours within it. Additional pre-processing step to help differentiate objects that have the same pixel intensity as the background to enable the detection of the edges of these objects.