2008-08-12 11 views
7

プログラムでMacBookのiSightカメラにアクセスできますか?これにより、iSightカメラからコマンドを受けて静止フレームを取得してから、何かを行うことができるようになります。もしそうなら、それは客観的なcを使ってしかアクセスできないのでしょうか、あるいは他の言語も同様に使用できますか?プログラムによるiSightへのアクセス?

答えて

4

私はここのMacを持っていないが、ここまで、いくつかのドキュメントがあります:

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

あなたはQuickTimeのAPIを介して行かなければならないように見えます。 this threadによれば、見た目に価値のある "MungGrab"と呼ばれるサンプルプロジェクトが想定されています。

+2

がhi ...私はあなたが...あなたはそれを更新することができます示唆しdeveloper.apple.comのリンクが見つかりませんページを取得していますか? – Devarshi

+1

このリンクではまだ404エラーが発生しています。リンクに依存しないように、リンクを更新したり、改善を改善したりできますか? – ChrisF

0

ObjCとは別に、PyObjCまたはRubyCocoaバインディングを使用してアクセスすることもできます。 PyObjCがひどくひどくひどく書かれているように、Rubyを使っていると言えば(たとえ公式のAppleのページでも、OS X Leopardに付属のものではなく、古いバージョンを参照している)

Quartz Composerがおそらく最も簡単にアクセスでき、.quartzファイルは非常に簡単にアプリケーションに埋め込むことができます(データはObjCなどにパイプされます)

また、これは/ Developer/Examples/

1

あなたがやりたいことを多かれ少なかれ実行するisightcaptureというコマンドラインユーティリティがあります。あなたはおそらく開発者からコードを入手することができます(彼の電子メールアドレスはユーティリティをダウンロードするときに得られるreadmeにあります)。

9

QTKit Capture documentationをチェックしてください。

Leopard上で、あなたは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はこれまで説明されていないことが1つあります。これは標準的なOS提供のパネルが、可能な全てのフィルタ機能等を含めて写真を撮るようになるだろう。それがあなたが望むものなのかどうかはわかりません。

cocoa bridgesのようなものがあると考えれば、他の言語からも使うことができますが、私はそれらの経験はありません。

また、この問題に対処していると思われるanother question on stackoverflowというグーグルが登場しました。

0

具体的には解決策をpythonicとする関連の質問から、Andrew Strawのmotmot's camifaceライブラリを試してください。また、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,) 
関連する問題