2008-08-12 35 views
7

यह एक मैकबुक प्रोग्राम के रूप में पर iSight कैमरा एक्सेस करना संभव है? इसके द्वारा मेरा मतलब है कि मैं अभी भी कमांड पर iSight कैमरे से फ़्रेम को पकड़ने में सक्षम होना चाहता हूं और फिर उनके साथ कुछ कर सकता हूं। यदि हां, तो क्या यह केवल उद्देश्य सी का उपयोग करके सुलभ है, या अन्य भाषाओं का भी उपयोग किया जा सकता है?प्रोग्रामिंग के iSight तक पहुंच रहा है?

उत्तर

4

मैं एक मैक यहाँ नहीं है, लेकिन वहाँ यहाँ कुछ प्रलेखन है:

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

ऐसा लगता है कि आपको QuickTime एपीआई के माध्यम से जाना है की तरह। वहाँ "MungGrab" नामक एक नमूना परियोजना जो लायक this thread के अनुसार एक नज़र हो सकता है माना जाता है। ObjC से

+2

हाय ... मैं हो रही है पेज developer.apple.com लिंक है जो आप सुझाव के लिए नहीं मिला ... आप इसे अपडेट कर सकते हैं? – Devarshi

+1

यह लिंक अभी भी 404 त्रुटि दे रहा है। क्या आप लिंक को अपडेट कर सकते हैं या बेहतर अभी भी उत्तर में सुधार कर सकते हैं ताकि यह लिंक पर भरोसा न करे। – ChrisF

0

अलावा, आप भी इसे उपयोग करने PyObjC या RubyCocoa बाइंडिंग का उपयोग कर सकते हैं। आप कौन सी भाषा बारे में चयन नहीं कर रहे हैं, मैं कहेंगे उपयोग रूबी, के रूप में PyObjC बुरी बुरी तरह से प्रलेखित है

(इस पर भी आधिकारिक एप्पल पेज पुराने संस्करण, नहीं एक है कि ओएस एक्स तेंदुए के साथ आया करने के लिए संदर्भित करता है)

क्वार्ट्ज संगीतकार शायद इसे उपयोग करने का सबसे आसान तरीका है, और .quartz फ़ाइलों बहुत आसानी से अनुप्रयोगों में एम्बेड किया जा सकता है (और डेटा ObjC के लिए बाहर पहुंचाया या इस तरह के)

इसके अलावा, मैं एक उदाहरण या दो का होना चाहिए लगता है इस में/डेवलपर/उदाहरण/

1

वहाँ एक कमांड लाइन उपयोगिता isightcapture कि कम या ज्यादा क्या आप क्या करना चाहते करता है कहा जाता है। आप शायद डेवलपर की ओर से कोड प्राप्त कर सकते हैं (अपने ई-मेल एड्रेस रीडमी जब आप उपयोगिता डाउनलोड पाने में है)।

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

एक बात है कि अब तक का उल्लेख नहीं किया गया IKPictureTaker, जो छवि किट का हिस्सा है। यह सब संभव फिल्टर कार्यक्षमता के साथ आदि शामिल हालांकि ये तस्वीरें लेने के लिए, मानक ओएस प्रदान की पैनल के साथ ऊपर आ जाएगा। मुझे यकीन नहीं है कि आप यही चाहते हैं।

मुझे लगता है कि आप इसे अन्य भाषाओं से भी उपयोग कर सकते हैं, क्योंकि cocoa bridges जैसी चीजें हैं लेकिन मुझे उनके साथ कोई अनुभव नहीं है।

Googling भी another question on stackoverflow कि इस मुद्दे के समाधान के लिए लगता है के साथ आया था।

0

संबंधित प्रश्न से विशेष रूप से समाधान को पाइथोनिक होने के लिए कहा जाता है, तो आपको एंड्रयू स्ट्रॉ से motmot's camiface लाइब्रेरी का प्रयास करना चाहिए। यह फायरवायर कैमरों के साथ भी काम करता है, लेकिन यह इस दृष्टि के साथ भी काम करता है, जो आप खोज रहे हैं।

ट्यूटोरियल से:

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