Saf*_*ari 2 iphone cocoa-touch avfoundation
我如何从iPhone相机中获取实时帧,将它们转换为灰度,然后在我的应用程序中将它们显示在屏幕上?
你需要使用iOS 4.0,它允许你 - 最后 - 只是启动相机并在它们准备就绪时接收帧作为原始数据.然后,您可以根据需要处理帧,并根据需要将它们放在屏幕上.
做最好的事情是在登录后抢WWDC会话409("使用与AV基金会相机")在这里,它应该让你尽可能能够产生对你的UIImagePickerController自己的变种.
要从RGB转换为亮度,您可能需要快速公式:
brightness = (0.257 * R) + (0.504 * G) + (0.098 * B) + 16;
Run Code Online (Sandbox Code Playgroud)
它来自标准的RGB到YUV转换公式,如此处所述.根据您将图像设置为屏幕的方式,您可以直接存储这些值(例如,如果您要使用OpenGL - 只需上传为亮度纹理)或将R,G和B存储为:
1.164(brightness - 16)
Run Code Online (Sandbox Code Playgroud)
(来自同一来源)