我试图找出Android设备上的相机是否有任何红外线源。 (即红外LED)
由于相机捕获红外线(我可以看到LED在预览/图片中亮起)我认为应该以某种方式可以找出相机当前是否捕获红外信号,但是因为IR'颜色'以某种方式转换为可见的颜色(像紫色一样),它显然不像发现图片中是否有紫色那么容易,因为它可能是真正的紫色而不是红外线。
Android参考告诉我,我可以用不同的图像格式(YCbCr,YUV,...)获取图片,但这些格式似乎都没有多大帮助。
现在我的想法是,以某种方式获取来自相机的“原始”数据,其中仍然包括关于什么是红外线以及什么不是或基本上将红外线恢复到可见光转换的信息,这显然在后台自动发生。关于如何实现这一点的任何想法?
答案 0 :(得分:1)
好问题,如果我为HI-FI或电视机拍摄遥控器并按下音量调高/调高,我可以获得Nexus One相机的红外光源:可见浅紫色闪烁。所以Nexus One有红外摄像头:)
数码相机使用CCD和其他类似的传感器来捕捉红外线 图片。虽然市场上的所有数码相机都是 对红外线敏感,它们配备红外线阻隔 过滤器。主要原因是消费者相机 旨在捕捉可见光。但有时这些过滤器是 一起使用,给出非常有趣的内部效果,如假 颜色,木材效果等。从红外摄影开始,所有你 需要拥有一款对红外线敏感的数码相机。 可见光阻挡滤光片(例如Wratten 89B滤光片) 图像编辑软件,如Photoshop。 http://www.smashingmagazine.com/2009/01/11/40-incredible-near-infrared-photos/
我写了一个非常简单的在线广播播放器。与Media Player进行异步调用。有些设备正在播放一些不同的模式。根据我对简单的Madia Player的悲惨经历,您必须编写5个版本才能在一些设备上工作。音频 - 视频添加,删除了每个制造商的功能:三星,索尼爱立信,摩托罗拉,你只是想知道为什么不能在你的设备上使用你的代码,如果是平台独立的Java ...
我认为从相机获取原始数据可以通过NDK获得,但没有经过测试。
它提供了允许您构建活动的标头和库, 处理用户输入,使用硬件传感器,访问应用程序资源, 等等,用C或C ++编程时
http://developer.android.com/sdk/ndk/index.html
如果有人找到使用SDK的解决方案并与2家不同的手机制造商合作,请告诉我们!
答案 1 :(得分:0)
我的朋友只能在android中找到红外线源而不依赖于颜色代码
因为只为可见光创建了颜色空间,所以即使它发生了,也不会将传感器内部注册的不可见光用作rgb值
逻辑上,颜色空间值仅对可见光有意义。 并未真正创建颜色空间值来表示超出可见范围的波长。
没有正确的方法可以将可见的颜色空间值(例如rgb yuv)解释为红外线,除非您知道确切的相机传感器细节白皮书并使用多个高度精确的滤波器测试传感器的每个特定波长,这对于和应用
为了保持简单,请使用外部红外线滤波器来处理特定波长 如果您可以进行物理修改,请移除手机或平板电脑相机内的滤镜 另一种方法是使用已知的网络摄像头模型并移除传感器顶部的过滤器,并使用外部过滤器来保护传感器免受紫外线等的影响。