Domanda

Vorrei utilizzare la fotocamera nel mio Macbook in un programma.Io sono abbastanza indipendente dalla lingua - C, Java, Python, ecc sono tutte belle.Qualcuno potrebbe suggerire il posto migliore per cercare i documenti o "Ciao mondo" tipo di codice?

È stato utile?

Soluzione

Il ImageKit quadro in Leopard è un IKPictureTaker classe che vi permetterà di eseguire lo standard per lo scatto di foto del foglio o del pannello che si vede in iChat e di altre applicazioni.

Se non si desidera utilizzare l'immagine standard-taker pannello/foglio di interfaccia, è possibile utilizzare il QTKit Cattura funzionalità per ottenere un'immagine dalla webcam iSight.

Entrambi questi richiedono la scrittura di Cacao codice in Objective-C, ma che non dovrebbe davvero essere un ostacolo in questi giorni.

Altri suggerimenti

Se si desidera modificare la fotocamera direttamente dal codice, è necessario utilizzare QuickTime Catturare le Api o le Cacao QTKit Cattura wrapper (molto meglio).

L'unica avvertenza è di:se si utilizza un QTCaptureDecompressedVideoOutput, ricordate che i richiami non sono fatte nel thread principale, ma su QuickTIme gestito da catturare thread.Usare [someObject performSelectorOnMainThread:...withObject:...waitUntilDone:NO] per l'invio di messaggi a un oggetto sul thread principale.

C'è un programma di utilità chiamato isightcapture che viene eseguito dalla riga di comando di unix che prende una foto dalla fotocamera isight e la salva.

È possibile controllare questo sito: http://www.macupdate.com/info.php/id/18598

Un esempio di utilizzo di questo con AppleScript è:

utilizza l'applicazione "Terminale" fare script "/Applicazioni/isightcapture myimage.jpg" fine dire

Legate da una domanda che ha chiesto esplicitamente la soluzione divinatori, si dovrebbe dare una prova di motmot del camiface libreria da Andrea Paglia.Funziona anche con le telecamere, ma funziona anche con la isight, che è quello che stai cercando.

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

È usato in questo esempio di neuroscienze demo

Quartz Composer è anche un modo piacevole per catturare e lavorare con il video, quando è applicabile.C'è un video input patch.

Quartz Composer è un ambiente di programmazione grafico che si integra in un più ampio Cacao programma, se necessario.

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

Un'altra soluzione è OpenCV+python con uno script come:

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

Non può fare niente di più semplice!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top