Accesați programul iSight programabil?

Este posibil să accesați programele iSight pe un MacBook programat? Prin aceasta vreau să spun că aș vrea să pot să iau încă cadre din camera iSight la comandă și apoi să fac ceva cu ei. Dacă da, este accesibilă numai folosind obiectivul c sau ar putea fi utilizate și alte limbi?

0
fr hi bn

7 răspunsuri

Nu am aici un Mac, dar există o documentație aici:

http://developer.apple.com/documentation/Hardware/ conceptual/iSightProgGuide/01introduction/chapter_1_section_1.html

Se pare că trebuie să parcurgi API-ul QuickTime. Se presupune că va fi un proiect de probă numit "MungGrab", care ar putea merita o privire în conformitate cu acest thread .

0
adăugat
salut ... eu sunt obtinerea pagina nu a fost găsit pentru link-ul developer.apple.com pe care le-ați sugerat ... puteți să-l actualizați?
adăugat autor Devarshi, sursa
Această legătură duce încă la o eroare de 404. Puteți să actualizați linkul sau să îmbunătățiți în continuare răspunsul, astfel încât acesta să nu se bazeze pe link.
adăugat autor ChrisF, sursa

În afară de ObjC, puteți folosi legările PyObjC sau RubyCocoa pentru a accesa și ea. Dacă nu sunteți pretențios în ce limbă, aș spune că folosiți Ruby, deoarece PyObjC este oribil documentat (chiar și pagina oficială a Apple se referă la versiunea veche, nu cea care a venit cu OS X Leopard)

Quartz Composer este probabil cel mai simplu mod de a accesa acest fișier, iar fișierele .quartz pot fi încorporate în aplicații destul de ușor (și datele transmise către ObjC sau altele asemenea)

De asemenea, presupun că ar trebui să existe un exemplu sau două dintre acestea în/Developer/Examples /

0
adăugat

Există un utilitar pentru linia de comandă numit isightcapture care face mai multe sau mai puțin ceea ce vrei să faci. Probabil ați putea obține codul de la dezvoltator (adresa sa de e-mail este în textul readme când descărcați utilitarul).

0
adăugat

Dacă vă loviți în jurul listelor de discuții ale Apple, puteți găsi un cod pentru a face acest lucru și în Java. Iată un exemplu simplu potrivit pentru capturarea cadrelor individuale , și aici este o versiune mai complicată care este suficient de rapidă pentru a afișa un videoclip live .

0
adăugat

Într-o întrebare legată, care a solicitat în mod specific ca soluția să fie probabilă, ar trebui să încercați să biblioteca camfacea lui motmot de la Andrew Straw. Funcționează de asemenea cu camerele Firewire, dar funcționează și cu viziunea, ceea ce căutați.

Din 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,)
0
adăugat

Ar trebui să verificați documentația QTKit Capture .

Pe Leopard, puteți obține totul de-a lungul podului RubyCocoa:

require 'osx/cocoa'
OSX.require_framework("/System/Library/Frameworks/QTKit.framework")

OSX::QTCaptureDevice.inputDevices.each do |device|
    puts device.localizedDisplayName
end
0
adăugat

Un lucru care nu a fost menționat până acum este IKPictureTaker , care face parte din Image Kit. Acest lucru va veni cu panoul standard furnizat de OS pentru a face poze, deși, cu toate funcționalitatea filtrului posibil, etc incluse. Nu sunt sigur dacă asta vrei.

Presupun că o puteți folosi și din alte limbi, având în vedere că există poduri de cacao, ca de exemplu poduri de cacao. dar nu am nici o experiență cu ei.

Googling a venit, de asemenea, cu altă întrebare despre stackoverflow care pare să abordeze această problemă.

0
adăugat