CHDK for Machine Vision - can it be done? - General Discussion and Assistance - CHDK Forum
supplierdeeply

CHDK for Machine Vision - can it be done?

  • 1 Replies
  • 1280 Views
CHDK for Machine Vision - can it be done?
« on: 17 / May / 2011, 10:41:25 »
Advertisements
Hi Everyone,

I would like to use CHDK as a starting point to re-purpose some cannon cameras as machine vision platforms.
My ultimate goad is to have the camera capture live video, do all image processing inside the camera, and output the low data-rate "results" via USB / serial via GPIO/led/etc.
My first candidate is the SD780 IS (IXUS 100), since it it very small and light-weight (and not too expensive).

I'm a fairly experienced developer, with some embedded software reversing experience, but really just starting out with CHDK.
I'm not afraid of delving into the firmware assembly, but I would be really happy to get some feedback about my basic ideas before I jump in...

Questions -
  • Where can I find more info about the hardware & software architecture of the SD780 IS? (emphasis on the control and data flow in video capture mode)
  • Is the video compression handled by a different ASIC, or can I have access to the raw image data in video mode?
  • Assuming I don't need to encode and store the video stream - how much CPU time should I expect to have available for image processing?
  • Any additional pointers to help me get started would be awesome and greatly appreciated :-)

Cheers,
Itamar

*

Offline reyalp

  • ******
  • 12067
Re: CHDK for Machine Vision - can it be done?
« Reply #1 on: 17 / May / 2011, 12:40:39 »
This is going to be very difficult. You probably would be better off using a camera system with documented interfaces. Even if you value your time at minimum wage, this is like to be a far cheaper option.
Quote
Where can I find more info about the hardware & software architecture of the SD780 IS? (emphasis on the control and data flow in video capture mode)
Disassemble the firmware dump and start hacking. Note that all CHDK supported cameras are pretty similar (even the when they changed the OS from vxworks to dryos most "camera" software didn't change much...)

The CHDK code will give you an idea of what aspects of the system are known.
Quote
Is the video compression handled by a different ASIC, or can I have access to the raw image data in video mode?
Dedicated hardware, as far as we know. "Digic" has an ARM 946e-s where the regular firmware and CHDK run, and some dedicated image processing hardware we currently know very little about. Given the relatively slowness of the general purpose CPU, it's safe to assume that the heavy lifting of video processing must happen on the other part.
Quote
Assuming I don't need to encode and store the video stream - how much CPU time should I expect to have available for image processing?
Hard to quantify, but not very much. The ARM CPU is not particularly fast. Some relevant examples in CHDK would be edge overlay, zebra, histogram and shot_histogram (histogram on the raw buffer).
Don't forget what the H stands for.

 

Related Topics