1

For example,

I want to install a camera in front of the dial and from the received images, extract the information like time in watch or Force from UTM.

This data extraction has to happen in Real-time and continuously. So, for example, the program output should be "the time" read from the watch which updates say, every second.

Community
  • 1
  • 1
Chintan Pathak
  • 302
  • 2
  • 5
  • 20
  • 1
    It might be much easier to simply rip out the existing dial and replace it by an A/D converter. – thiton Aug 13 '12 at 11:20
  • You could put a circular Gray code around the second machine: http://projects.haskell.org/diagrams/gallery/Gray.html http://en.wikipedia.org/wiki/Gray_code You could also do a polar->rectangular transform: http://imgur.com/Sp4ee – biziclop Aug 13 '12 at 11:49
  • .... like this: http://imgur.com/S7VQM – biziclop Aug 13 '12 at 11:55
  • The formal plan of automation is to totally replace the existing mechanism and digitise. Current effort is specially to show the power of programming and present multiple solution methods to students :) – Chintan Pathak Aug 14 '12 at 16:56
  • @biziclop : I am reading the method that u suggest, but cant we extract all the information from the image itself without the gray code, as the the dial has the value of reading written along with it, it is not clear in the image shown, but the dial is indeed human readable and I want to extract the information from the dial itself. – Chintan Pathak Aug 14 '12 at 17:18
  • Hi, I'm not an expert in this topic :) 1. perspective correct reference + just captured images, and check the difference: http://imgur.com/a/iKzHG – biziclop Aug 14 '12 at 19:55
  • @biziclop - Can u tell me how u generated the two images ? – Chintan Pathak Oct 23 '12 at 14:36
  • @ChintanPathak: I used some perspective transform, and some polar <-> rectangular transforms. I don't exactly remember. How haven't you already solved this problem in 2.5 months? :) – biziclop Oct 23 '12 at 15:19
  • @biziclop: :) ... I got distracted... am working full time on this problem now.. I a trying to apply the hough transform to detect lines in the image. The transform has yet not detected the indicator's lines, so am improving the algo further. Besides, even using the 'edge' function, how do I separate the round dial from the whole image, I cant use the length of the indicator or radius of the dial as checks as they may vary because of the position of the camera and zoom etc.. so how do I extract the dial and then the indicator? – Chintan Pathak Oct 26 '12 at 07:57

1 Answers1

1

First, I would put 4 markers around the dial to help automatic registration and perspective transform:

Machine with markers

Now undo the measured perspective distortion and perfectly crop the dial around its center point:

Current dial snapshot

Apply a polar to rectangular transform:

Polar to rectangular transformed dial

Select the colors of the pointers:

Selected colors

If you are lucky, you can cut out a horizontal strip of the above image, and easily find out the positions of the pointers, first the red one, because that's the front one, then the blue one, considering that it might be (partially) covered by the red one:

Best parts

Disclaimer: I never did anything similar in real life, so this is just some self-entertainment for me :)

biziclop
  • 14,466
  • 3
  • 49
  • 65