문제

내 Macbook에 있는 카메라를 프로그램에서 사용하고 싶습니다.나는 상당히 언어에 구애받지 않습니다. C, Java, Python 등은 모두 괜찮습니다.문서나 "Hello world" 유형 코드를 찾을 수 있는 가장 좋은 장소를 제안할 수 있는 사람이 있습니까?

도움이 되었습니까?

해결책

Leopard의 ImageKit 프레임워크에는 IKPictureTaker iChat 및 기타 응용 프로그램에서 볼 수 있는 표준 사진 촬영 시트 또는 패널을 실행할 수 있는 클래스입니다.

표준 사진 촬영 패널/시트 인터페이스를 사용하지 않으려면 다음을 사용하세요. QTKit 캡처 iSight에서 이미지를 가져오는 기능입니다.

두 가지 모두 Objective-C에서 Cocoa 코드를 작성해야 하지만 요즘에는 이것이 큰 장애물이 되지 않습니다.

다른 팁

코드에서 직접 카메라를 조작하려면 QuickTime Capture API 또는 코코아 QTKit 캡처 래퍼 (훨씬 더 좋음).

유일한 주의사항은 다음과 같습니다.QTCaptureDecompressedVideoOutput을 사용하는 경우 콜백은 기본 스레드가 아니라 QuickTIme 관리 캡처 스레드에서 수행된다는 점을 기억하세요.[someObject PerformSelectorOnMainThread:...를 사용하세요.withObject:...waitUntilDone:NO]를 사용하여 기본 스레드의 개체에 메시지를 보냅니다.

isight 카메라에서 사진을 찍어 저장하는 unix 명령줄에서 실행되는 isightcapture라는 유틸리티가 있습니다.

다음 웹사이트에서 확인할 수 있습니다. http://www.macupdate.com/info.php/id/18598

이를 AppleScript와 함께 사용하는 예는 다음과 같습니다.

응용 프로그램에 "터미널"do script "/applications/isightcapture myimage.jpg"end tell

솔루션이 Pythonic이 되도록 구체적으로 요청한 관련 질문에서 다음을 시도해야 합니다. 못못의 카미페이스 Andrew Straw의 도서관.Firewire 카메라와도 작동하지만 여러분이 찾고 있는 isight와도 작동합니다.

튜토리얼에서:

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

이것은 이것에 사용됩니다 샘플 신경과학 데모

Quartz Composer는 적용 가능한 경우 비디오를 캡처하고 작업하는 즐거운 방법이기도 합니다.비디오 입력 패치가 있습니다.

Quartz Composer는 필요한 경우 더 큰 Cocoa 프로그램에 통합되는 시각적 프로그래밍 환경입니다.

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

또 다른 해결책은 OpenCV+파이썬 다음과 같은 스크립트를 사용합니다.

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

더 이상 간단할 수 없습니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top