¿Es posible acceder a la cámara iSight en un macbook programáticamente? Con esto quiero decir que me gustaría poder tomar cuadros fijos de la cámara iSight en el comando y luego hacer algo con ellos. Si es así, ¿solo se puede acceder usando el objetivo c, o podrían usarse otros idiomas también?¿Tiene acceso a iSight mediante programación?
Respuesta
que no tienen un Mac aquí, pero hay algo de documentación aquí:
Parece que usted tiene que ir a través de la API de QuickTime. Se supone que debe haber un Proyecto de ejemplo llamado "MungGrab" que podría valer la pena según this thread.
Además de ObjC, puede usar los enlaces PyObjC o RubyCocoa para acceder también. Si no eres exigente con el idioma, diría que utilizas Ruby, ya que PyObjC está horriblemente mal documentado (incluso la página oficial de Apple se refiere a la versión anterior, no la que viene con OS X Leopard)
Quartz Composer es probablemente la forma más fácil de acceder a él, y los archivos .quartz se pueden incrustar en aplicaciones con bastante facilidad (y los datos enviados a ObjC o similar)
Además, supongo que debería haber un ejemplo o dos de esto en el/Developer/Examples/
Hay una utilidad de línea de comandos llamada isightcapture
que hace más o menos lo que quiere hacer. Probablemente puedas obtener el código del desarrollador (su dirección de correo electrónico está en el archivo Léame que obtienes cuando descargas la utilidad).
Debe retirar la QTKit Capture documentation.
en Leopard, puede llegar a todos de la misma sobre el puente RubyCocoa:
require 'osx/cocoa'
OSX.require_framework("/System/Library/Frameworks/QTKit.framework")
OSX::QTCaptureDevice.inputDevices.each do |device|
puts device.localizedDisplayName
end
Si hurgar listas de correo de Apple se puede encontrar algo de código para hacerlo en Java también. Here's a simple example suitable for capturing individual frames y here's a more complicated one that's fast enough to display live video.
Una cosa que no se ha mencionado hasta ahora es el IKPictureTaker, que es parte del Kit de imágenes. Sin embargo, esto proporcionará el panel proporcionado por el sistema operativo estándar para tomar fotografías, con todas las funciones de filtro posibles, etc. incluidas. No estoy seguro si eso es lo que quieres.
Supongo que puede usarlo también en otros idiomas, teniendo en cuenta que hay cosas como cocoa bridges pero no tengo experiencia con ellas.
Googling también apareció con another question on stackoverflow que parece solucionar este problema.
De una pregunta relacionada que pidió específicamente que la solución fuera pitónica, debe probarla en la biblioteca motmot's camiface de Andrew Straw. También funciona con cámaras firewire, pero también funciona con isight, que es lo que estás buscando.
Desde el tutorial:
import motmot.cam_iface.cam_iface_ctypes as cam_iface
import numpy as np
mode_num = 0
device_num = 0
num_buffers = 32
cam = cam_iface.Camera(device_num,num_buffers,mode_num)
cam.start_camera()
frame = np.asarray(cam.grab_next_frame_blocking())
print 'grabbed frame with shape %s'%(frame.shape,)
- 1. Acceso mediante programación a TFS 2010 desde fuera del dominio
- 2. Acceso mediante programación a archivos en dispositivos Android desde PC
- 3. Conexión a TFSPreview mediante programación
- 4. Cómo comprobar si tiene conexión a Internet en vivo mediante programación mediante C++
- 5. Amazon S3 Datos de uso de acceso mediante programación
- 6. iSight Sensor de ambiente
- 7. Cómo crear un acceso directo mediante programación utilizando Win32
- 8. Convierta Word (docx) mediante programación a PDF
- 9. Obtener página actual mediante programación
- 10. ¿Detecta mediante programación si un iPad tiene pantalla Retina?
- 11. Generar propiedades mediante programación
- 12. Agregar botones mediante programación a un fragmento
- 13. Agregando rutas mediante programación a Backbone.Router?
- 14. Agregar celdas mediante programación a UITableView
- 15. Cómo agregar vistas a vistas mediante programación
- 16. Agregar recursos a Jetty mediante programación
- 17. Enviar comandos a vim mediante programación
- 18. ¿Agregar ScriptManager a la página mediante programación?
- 19. Vinculación mediante programación de UIPageControl a UIScrollView
- 20. Llamar a organizar importaciones mediante programación
- 21. Cómo ejecutar NUnit mediante programación
- 22. mediante programación en C#
- 23. Agregar PageControl mediante programación
- 24. Acceso mediante programación a un archivo de Microsoft Project (MPP) desde C#
- 25. ¿Puede obtener acceso mediante programación a las cadenas localizadas estándar en Cocoa Touch?
- 26. ¿Cómo crear un acceso directo a la aplicación web en el escritorio del usuario mediante programación?
- 27. Acceso mediante programación a la lista de menú "Abrir con" Windows Explorer desde .NET
- 28. Adición de un acceso directo a una opción de menú del sistema agregado mediante programación
- 29. Cómo reiniciar mediante programación?
- 30. creando uiview mediante programación?
página hi ... Me estoy haciendo que no se encuentra para el enlace developer.apple.com la que usted sugiere ... que se puede actualizar? – Devarshi
Este enlace todavía está dando un error 404. ¿Puede actualizar el enlace o mejor aún mejorar la respuesta para que no confíe en el enlace? – ChrisF