6

I'm trying to find out if there is any infrared source in view of the camera on an android device. (Namely a infrared LED) Since the camera captures infrared light (I can see the LEDs light up in the preview/pictures) I thought it should be somehow possible to find out if the camera is currently capturing infrared signals, but as the IR 'color' is somehow translated to visible colors (purple like), it's apparently not as easy as just finding out if there is any purple in the picture as it might be real purple not infrared.
The Android reference tells me I can get the picture in different image formats (YCbCr, YUV ,...) but none of these formats seem to be of much help. Now my idea is, to somehow get the "original" data from the camera, that still includes the information on what is infrared and what not or to basicaly revert the infrared to visible light conversion that apparently happens automatically in the background. Any idea on how I might achive that?

user1121599
  • 61
  • 1
  • 2
  • I don't think any android devices have infrared cameras... – Alex Paino Dec 30 '11 at 01:19
  • 1
    Well as i wrote not infrared cameras as in I can get a real (only) infrared image, but 'normal' cameras without an infrared filter that do capture infrared light (probably up to about 1000nm, depending on the camera). I can see that the camera sees this infrared light, because when I look at a infrared light source with the camera I can see the LED light up in the preview I see on the screen and also on the picture I take. – user1121599 Dec 30 '11 at 11:29

2 Answers2

1

Good question, If I take the remote control for HI-FI or TV and I press the Volume up / down, than I can get the IR light source for the Nexus One camera: it is visible a light purple color flashing. So the Nexus One has IR camera :)

Digital cameras use CCD and other similar sensors to capture infrared images. Although all digital cameras available on the market are sensitive to infrared light, they are equipped with infrared-blocking filters. The main reason for this is that consumer cameras are designed to capture visible light. But sometimes these filters are used together, giving very interesting in-camera effects like false color, wood effects etc. To start with infrared photography, all you need to have is A digital camera that is sensitive to infrared light. A visible-light blocking filter (e.g. a Wratten 89B filter) Image-editing software, such as Photoshop. http://www.smashingmagazine.com/2009/01/11/40-incredible-near-infrared-photos/

I wrote a very-very simple online radio player. Has an asynchronous call with Media Player. Some devices are playing some not, and different mode. From my sad experience with the simple Madia Player you will have to write like 5 versions to get working in a few devices. Audio-Video has added, removed features from each manufacturer: Samsung, Sony Ericsson, Motorola and you just wonder why doesn't work your code on THAT device if is platform independent Java...

I think to get the original data from camera it would be possible via NDK, but didn't tested.

It provides headers and libraries that allow you to build activities, handle user input, use hardware sensors, access application resources, and more, when programming in C or C++

http://developer.android.com/sdk/ndk/index.html

If somebody found a solution using SDK and working with 2 different phone manufacturers please let me know!

0

My friend only way to find out infrared source in android not relying on color codes

because color spaces are only created for visible lights so no use for invisible light registered inside the sensor as a rgb value even though it happened

logically color space values are only meaningful for visible light. and color space values are not really created to represent the wavelengths out of our visible range.

there is no correct way to interpret visible color space values such as rgb yuv as infrared unless you know the exact camera sensor detail white papers and tested the sensor with multiple highly accurate filters for each specific wavelengths this is so over kill for and app.

to keep things simple use external external infrared filter for specific wavelengths and remove the filter inside the phone or tablet camera if you can physically modify other way around use known model of web cam and remove the filter on top of the sensor and use external filters to protect the sensor from UV light and so on.

kannetkeifer
  • 734
  • 1
  • 6
  • 11