2008-08-12 3 views
7

MacBook의 iSight 카메라에 프로그래밍 방식으로 액세스 할 수 있습니까? 이 말은 iSight 카메라에서 명령에 따라 프레임을 잡고 그 다음에 무엇인가를 할 수 있기를 바랍니다. 그렇다면 목표 C를 사용하여 액세스 할 수 있습니까? 아니면 다른 언어도 사용할 수 있습니까?iSight에 프로그래밍 방식으로 액세스하고 있습니까?

답변

4

나는 여기에 맥을 가지고 있지 않지만, 일부 문서는 최대 여기있다 : 당신은 퀵타임 API를 통해 갈 필요가 같은

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

것 같습니다. this thread에 따라 볼만한 가치가있는 "MungGrab"이라는 샘플 프로젝트가 있어야합니다.

+2

안녕하세요 ... 내가 얻고 페이지 ... 당신은 그것을 업데이트 할 수 있습니다? – Devarshi

+1

이 링크는 여전히 404 오류를 표시합니다. 링크를 업데이트하거나 링크를 신뢰할 수 없도록 응답을 개선 할 수 있습니까? – ChrisF

0

ObjC 이외에도 PyObjC 또는 RubyCocoa 바인딩을 사용하여 액세스 할 수도 있습니다. PyObjC가 끔찍하게 문서화되어 있기 때문에 루비를 사용한다고 말하고 싶다면 (공식적인 애플 페이지도 OS X Leopard와 함께 제공되는 것이 아니라 이전 버전을 참조하십시오)

아마도 Quartz Composer가 가장 쉽게 액세스 할 수 있으며, .quartz 파일은 매우 쉽게 응용 프로그램에 임베드 될 수 있습니다 (데이터는 ObjC 또는 기타로 파이프 됨)

또한 예 또는 두 가지가 있어야한다고 가정합니다./Developer/Examples/

1

당신이하고자하는 일을 어느 정도 수행하는 isightcapture이라는 명령 행 유틸리티가 있습니다. 아마도 개발자로부터 코드를 얻을 수 있습니다 (그의 전자 메일 주소는 유틸리티를 다운로드 할 때 얻는 readme에 있습니다).

9

QTKit Capture documentation을 확인해야합니다.

레오파드에, 당신은 RubyCocoa 다리에 그것을 모두 얻을 수 있습니다 : 당신이 애플의 메일 링리스트를 찔러 경우

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

OSX::QTCaptureDevice.inputDevices.each do |device| 
    puts device.localizedDisplayName 
end 
1

Image Kit의 일부인 IKPictureTaker은 지금까지 언급되지 않은 한 가지 점이 있습니다. 이것은 가능한 모든 필터 기능 등이 포함 된 표준 OS 제공 패널로 사진을 찍을 것입니다. 그게 네가 원하는지 모르겠다.

cocoa bridges과 같은 것들을 고려하면 다른 언어에서도 사용할 수 있지만 경험이 없습니다.

인터넷 검색은 또한이 문제를 해결하는 것으로 보이는 another question on stackoverflow과 함께 나타납니다.

0

특별히 파이썬에 대한 해결책을 묻는 관련 질문에서 Andrew Straw의 motmot's camiface 라이브러리를 시도해야합니다. 또한 FireWire 카메라와도 작동하지만 찾고있는 바로 저기에서 작동합니다. 튜토리얼에서

: 당신이 제안 developer.apple.com 링크를 찾을 수 없습니다

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,) 
관련 문제