13

プログラムで Macbook のカメラを使用したいと考えています。私はかなり言語にとらわれません.C、Java、Pythonなどはすべて問題ありません。ドキュメントまたは「Hello world」タイプのコードを探すのに最適な場所を誰か提案できますか?

4

6 に答える 6

7

Leopard の ImageKit フレームワークにはIKPictureTaker、iChat やその他のアプリケーションで見た標準的な写真撮影シートまたはパネルを実行できるクラスがあります。

標準の写真撮影パネル/シート インターフェイスを使用したくない場合は、QTKit キャプチャ機能を使用して iSight から画像を取得します。

どちらも、Objective-C で Cocoa コードを書く必要がありますが、最近ではそれが障害になることはありません。

于 2008-09-11T19:53:24.250 に答える
2

コードからカメラを直接操作したい場合は、QuickTime Capture API またはCocoa QTKit Captureラッパーを使用する必要があります (はるかに優れています)。

唯一の注意点は次のとおりです。QTCaptureDecompressedVideoOutput を使用する場合、コールバックはメイン スレッドではなく、QuickTIme が管理するキャプチャ スレッドで行われることに注意してください。[someObject performSelectorOnMainThread:... withObject:... waitUntilDone:NO] を使用して、メイン スレッド上のオブジェクトにメッセージを送信します。

于 2008-09-12T08:23:44.913 に答える
1

isight カメラから写真を撮影して保存する、UNIX コマンド ラインから実行される isightcapture というユーティリティがあります。

この Web サイトで確認できます: http://www.macupdate.com/info.php/id/18598

AppleScript でこれを使用する例は次のとおりです。

tell application "Terminal" do script "/Applications/isightcapture myimage.jpg" end tell

于 2008-09-11T19:57:55.270 に答える
1

ソリューションがpythonicであることを具体的に尋ねた関連する質問から、Andrew Strawのmotmotの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,)

このサンプル神経科学デモで使用されています

于 2010-02-03T21:50:37.593 に答える
0

また、Quartz Composer は、必要に応じてビデオをキャプチャして操作するための快適な方法でもあります。ビデオ入力パッチがあります。

Quartz Composer は、必要に応じてより大きな Cocoa プログラムに統合できるビジュアル プログラミング環境です。

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

于 2008-09-18T07:07:44.190 に答える
0

別の解決策は、次のようなスクリプトを使用したOpenCV+pythonです。

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

これ以上簡単なことはできません!

于 2011-01-23T22:32:22.353 に答える