2012-07-10 30 views
7

C# 'da açık CV kamerası özelliklerini entegre etmek için Emgu kütüphanesini kullanıyorum. SonraC#, Emgu webcam - yakalama boyutunu seç

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

Böyle bir ImageBox görüntülemek: imageBox1.Image = camera.QueryFrame(); Sonra

geçerli çerçeve I anlık yakalamak için

Ben boyutunu yakalama cihazı seçme ve ayarlama konusunda bu kodu kullanın Bu kodu kullanın: Önizleme penceresinden daha yüksek bir çözünürlükte anlık görüntü kaydetmek mümkün olsa da, bu kodu kullanmak istiyorum.

Ancak sorun, bildiğim kadarıyla, aynı web kamerasını kullanarak yeni bir "Capture" nesnesi oluşturamıyorum. Yani belki de 1028x720 diyelim ki camera.setCaptureProperty yüksekliğini ve genişliğini ayarlamak mümkün olup olmadığını merak ediyorum ama bir şekilde 514x360 çözünürlüğüyle imageBox'ta görüntülenmek için kırptın mı?

Veya bunu yapmak için başka bir yolu var mı?

+0

kullanılarak çözüldü, Bu, Emgu.CV.CvEnum'da – Chad

cevap

9

I kullanılarak çözüldü

imageBox1.SizeMode = PictureBoxSizeMode.StretchImage; 
2

I Boyutlandırma() QueryFrame içinde yöntemi() burada `CAP_PROP` tanımlanır merak edenler için

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

içeriyor. Bu, ancak bazı görüntüyü kırpıyor gibi görünüyor. Bunun yerine imageBox.SizeMode kullanın. –