versiones serial seguro progreso pro number modo macbook mac funciona frontal encender como check camara barra arranca apple cocoa language-agnostic osx camera

cocoa - serial - macbook pro no arranca barra de progreso



¿Código de muestra para usar la cámara mac en un programa? (6)

Me gustaría utilizar la cámara en mi Macbook en un programa. Soy bastante independiente del lenguaje: C, Java, Python, etc. están bien. ¿Alguien podría sugerir el mejor lugar para buscar documentos o el código de tipo "Hola mundo"?


Hay una utilidad llamada isightcapture que se ejecuta desde la línea de comandos de Unix que toma una imagen de la cámara de isight y la guarda.

Puede verificarlo en este sitio web: http://www.macupdate.com/info.php/id/18598

Un ejemplo de usar esto con AppleScript es:

dile a la aplicación "Terminal" do script "/ Applications / isightcapture myimage.jpg" end tell


El marco de ImageKit en Leopard tiene una clase IKPictureTaker que le permitirá ejecutar la hoja o panel de toma de imágenes estándar que ha visto en iChat y otras aplicaciones.

Si no desea utilizar la interfaz estándar de panel / hoja de tomas de imágenes , puede usar la funcionalidad QTKit Capture para obtener una imagen de iSight.

Ambos requerirán escribir algún código de Cocoa en Objective-C, pero eso realmente no debería ser un obstáculo en estos días.


Si desea manipular la cámara directamente desde su código, debe usar las API QuickTime Capture o la envoltura Cocoa QTKit Capture (mucho mejor).

La única advertencia es: si usa un QTCaptureDecompressedVideoOutput, recuerde que las devoluciones de llamada no se realizan en el hilo principal, sino en el hilo de captura administrado QuickTIme. Utilice [someObject performSelectorOnMainThread: ... withObject: ... waitUntilDone: NO] para enviar mensajes a un objeto en el hilo principal.



A partir de una pregunta relacionada que pidió específicamente que la solución fuera pitónica, deberías intentar con la biblioteca de camface de motmot de Andrew Straw. También funciona con cámaras firewire, pero también funciona con isight, que es lo que estás buscando.

Del 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,)

Se usa en esta muestra demo de neurociencia


Otra solución es OpenCV + python con un script como:

import cv capture = cv.CaptureFromCAM(0) img = cv.QueryFrame(capture)

No se puede hacer nada más simple!