Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OpenCv窗口删除_C#_Opencv_Opencvdotnet - Fatal编程技术网

C# OpenCv窗口删除

C# OpenCv窗口删除,c#,opencv,opencvdotnet,C#,Opencv,Opencvdotnet,我正在尝试获取相机的输出,并使用OpenCvSharp在c gui中显示它。这是我根据示例编写的代码。但是,这段代码会弹出第二个窗口CvWindow,我想删除它。这可能吗?从我的代码中删除CvWindow会使相机流不出现 CvCapture cap= CvCapture.FromCamera(0); CvWindow win= new CvWindow("camera"); while (CvWindow.WaitKey(10) < 0) { IplImage img= Capt

我正在尝试获取相机的输出,并使用OpenCvSharp在c gui中显示它。这是我根据示例编写的代码。但是,这段代码会弹出第二个窗口CvWindow,我想删除它。这可能吗?从我的代码中删除CvWindow会使相机流不出现

CvCapture cap= CvCapture.FromCamera(0);
CvWindow win= new CvWindow("camera");

while (CvWindow.WaitKey(10) < 0)
{
    IplImage img= Capture.QueryFrame();
    Bitmap bmp= BitmapConverter.ToBitmap(img);
    pictureBox1.Image = bmp;
}
win.Close();

事实证明,使用Win32 API隐藏窗口是一种可行的方法。但是,您必须确保隐藏CvWindow的父窗口。

这就是我在Windows窗体中显示OpenCvSharp视频提要的方式


隐藏窗口的最佳方法是首先不要显示它。因此,删除构建新窗口的行。然后,您需要将while循环移动到一个新线程中,并使其连续运行,例如whiletrue。如果您没有在单独的线程上运行,您的应用程序将冻结。

删除行CvWindow win=new CvWindowcamera;和赢,接近;不起作用?另一种方法是使用win32 API隐藏该窗口。删除这些行在第二个窗口消失的情况下起作用。但出于某种原因,当我这样做时,程序进入while循环,视频不会显示,所有内容都会锁定。我一直不知道为什么,因此我认为CvWindow是有必要的。如果我错了,请纠正我。如果这是真的,那只发生在C包装器上。您可以尝试将窗口移出屏幕,或者使用win32 API将其真正隐藏。我已经尝试过使用win32 API将其删除。出于某种原因,这也行不通。我可以隐藏其他窗口,但不能隐藏CVD窗口。我现在正在做的就是把它从屏幕上移开,但它仍然会显示在任务栏上。关于如何根据标题隐藏窗口,有一个有趣的参考,这就是您使用的技巧吗?