Hi everyone,
I'm looking to do a security-related project using CHDK and wanted to get some tips and pointers before beginning. I haven't dug into the firmware at all yet, so pointers on which files would be important to look at would be appreciated.
I'd like to modify the firmware to do the following (more detail below):
1. Prevent a user from taking a picture when a certain object is in the frame (company logo, etc...)
2. Embed additional information inside the photo itself in a non-obvious way (i.e. encode it into the image)
3. Detect a particular user's face in an image
For the first point, the idea is to prevent a user from taking an image if they're taking a photo of some particular object (a person with a specific badge on, documents with watermarks, etc...). Ideally this detection could be performed before the user pressed the capture button and prevent the photo from ever being taken. I'm open to suggestions on object detection algorithms to use, I plan on starting by detecting a simple mono-colored shape and advancing from there.
The second point is a bit simpler and can be done after image capture. The idea is to use steganography to encode additional information into the photo, such as the time and date it was taken. There should be some simple methods to do this, but I'll need to modify the image before it's saved to the SD card.
Finally, the third point is easily the most difficult (and just a stretch goal). I'm wondering if it's possible to detect a particular user's face in an image and mask that person's face. I would probably start with masking all faces, but ideally it would only mask the face of a specific person. I know Canon cameras with DIGIC 3 processors and above have face detection built into them, can this feature be accessed and leveraged for this goal? Also, is the goal possible on DIGIC 2 cameras that don't have built-in face detection?
Any thoughts, tips, etc... on directions to approach these goals from would be greatly appreciated!