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

votos
13

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?

Publicado el 11/09/2008 a las 18:37
fuente por usuario
En otros idiomas...                            


6 respuestas

votos
7

El marco de ImageKit en Leopard tiene una IKPictureTakerclase 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.

Respondida el 11/09/2008 a las 18:53
fuente por usuario

votos
1

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

Respondida el 11/09/2008 a las 18:57
fuente por usuario

votos
2

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.

Respondida el 12/09/2008 a las 07:23
fuente por usuario

votos
0

Quartz Composer es también una forma agradable de capturar y trabajar con video, cuando es aplicable. Hay un parche de entrada de video.

Quartz Composer es un entorno de programación visual que se integra en un programa Cocoa más grande si es necesario.

http://developer.apple.com/graphicsimaging/quartz/quartzcomposer.html

Respondida el 18/09/2008 a las 06:07
fuente por usuario

votos
1

A partir de una pregunta relacionada que pidió específicamente que la solución sea Pythonic, usted debe darle una oportunidad a camiface de motmot biblioteca de Andrew paja. También funciona con cámaras firewire, pero funciona también con la iSight, que es lo que busca.

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

Se utiliza en esta demostración muestra de la neurociencia

Respondida el 03/02/2010 a las 20:50
fuente por usuario

votos
0

Otra solución es OpenCV + pitón con una secuencia de comandos como:

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

No se puede hacer nada más sencillo!

Respondida el 23/01/2011 a las 21:32
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more