jim*_*utt 7 c# video-capture emgucv
我正在使用Emgu库来集成C#中的开放式CV网络摄像头功能.
我使用此代码选择捕获设备并设置其大小:
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);
Run Code Online (Sandbox Code Playgroud)
然后我在像这样的imageBox中显示它: imageBox1.Image = camera.QueryFrame();
然后要捕获当前帧的快照我使用此代码:
Image<Bgr, byte> snapshot = camera.QueryFrame();
snapshot.Save("snapshot.jpg");
Run Code Online (Sandbox Code Playgroud)
虽然我希望能够以比预览窗口更高的分辨率保存快照.
但问题是,据我所知,我无法使用相同的webcamera创建一个新的"Capture"对象.所以我想知道是否有可能设置camera.setCaptureProperty
高度和宽度让我们说1028x720然后以某种方式裁剪它以在imageBox中显示它,分辨率为514x360?
或者还有其他方法吗?
jim*_*utt 10
我用它来解决这个问题
imageBox1.SizeMode = PictureBoxSizeMode.StretchImage;
Run Code Online (Sandbox Code Playgroud)