MATLAB Answers

OCR on Technical drawings: Image segmentation Workflow

14 views (last 30 days)
sikalafa on 15 Sep 2019
Answered: Selva Karna on 14 Jan 2020
Dear Matlab'ers!
I am currently developing the following method:
Automated OCR Text extraction from technical drawings
and after checking the literature, I would like to ask you for feedback my current process, especially in the segmentation of elements in the drawing.
Sample Image:
My current process is as follows:
  1. Open the image [imread()]
  2. Convert it to a binary image [rg2gray()->imbinarize()]
  3. Segment/cluster the image to define Regions Of Interest (Title Block - usually lower right, x# Part projections - middle, frame - around the drawing) [I tried superpixels() but it seems to be insufficient]
  4. Get rid of the frame [no clue how to]
  5. Run OCR on the Title Block [ocr()] and look for specific text strings
  6. Run OCR on the X Y Z Projections [ocr()] and look for dimensions etc..
  7. Store the data in a predefined xls [xlswrite()]
The task seems to be quite easy, as techincal drawings should follow standards and images are usually black&white, however it looks like my approach is insufficient, especially in detecting shapes of the Title Block and quite irregular parts.
Do you think it might be worth exploring functions like fill holes or region fill or it will be better to create a heatmap to segment the image?

Answers (1)

Selva Karna
Selva Karna on 14 Jan 2020
you can work on follow:
  • Train your own data using machine learning or deep learning
  • Before train prepare your data sets

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!