2012-07-10 16 views
7

मैं सी # में खुली सीवी वेबकैम सुविधाओं को एकीकृत करने के लिए इमू लाइब्रेरी का उपयोग कर रहा हूं।सी #, इमू वेबकैम - कैप्चर आकार चुनें

camera = new Capture(0); 
camera.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, videoSettings.width); 
camera.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, videoSettings.height); 

तो मैं इस तरह की एक Imagebox में प्रदर्शित: imageBox1.Image = camera.QueryFrame();

तो वर्तमान फ्रेम मैं का एक स्नैपशॉट पर कब्जा करने के

मैं कैप्चर डिवाइस का चयन और इसका आकार निर्धारित करने के लिए इस कोड का उपयोग इस कोड का उपयोग:

Image<Bgr, byte> snapshot = camera.QueryFrame(); 
snapshot.Save("snapshot.jpg"); 

हालांकि मैं पूर्वावलोकन विंडो से अधिक रिज़ॉल्यूशन पर स्नैपशॉट को बचाने के लिए सक्षम होने के लिए चाहते हैं।

लेकिन समस्या यह है कि जहां तक ​​मुझे पता है कि मैं एक ही वेब कैमरा का उपयोग करके एक नया "कैप्चर" ऑब्जेक्ट नहीं बना सकता। तो मैं सोच रहा हूं कि camera.setCaptureProperty ऊंचाई और चौड़ाई निर्धारित करने के लिए संभव है कि 1028x720 कहें, लेकिन फिर किसी भी तरह से इसे छवि में प्रदर्शित करने के लिए इसे फसल करें 514x360 के संकल्प के साथ?

या ऐसा करने का कोई और तरीका है?

+0

सोच जहां 'CAP_PROP' परिभाषित किया गया है उन लोगों के लिए का उपयोग करके इस हल, यह 'Emgu.CV.CvEnum' – Chad

उत्तर

9

मैं का उपयोग करके इस हल

imageBox1.SizeMode = PictureBoxSizeMode.StretchImage; 
2

मैं आकार() QueryFrame में विधि()

currentFrame = grabber.QueryFrame().Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_CUBIC); 
+2

में है यह काम करता है, लेकिन यह अभी भी कुछ छवियों को फसल लग रहा है। इसके बजाय imageBox.SizeMode का उपयोग करें। –

संबंधित मुद्दे