destroyWindow(从opencv)关闭所有窗口并停止c++;程序 我正在用C++编写一个实时视频处理程序,希望能够用相同的MJPEG流切换三个窗口,颜色、灰度和单色。我已经运行了所有的图像提要,但是,由于我的屏幕很小,我希望能够分别打开和关闭它们。为此,我编写了下面的代码,但调用destroyWindow(“[windowname]”);而是停止整个程序。我已经阅读了文档,在文档前面加上void也没用。谁能告诉我我做错了什么? 下面是代码(它在一个无限循环中,直到您看到下面的中断被称为): imshow(“颜色”,imageColor); imshow(“单色”,图像单色); imshow(“灰度”,图像灰度); 按下int键=等待键(0); 如果(按键>0) { cout
您粘贴的代码在调用destroyWindow(从opencv)关闭所有窗口并停止c++;程序 我正在用C++编写一个实时视频处理程序,希望能够用相同的MJPEG流切换三个窗口,颜色、灰度和单色。我已经运行了所有的图像提要,但是,由于我的屏幕很小,我希望能够分别打开和关闭它们。为此,我编写了下面的代码,但调用destroyWindow(“[windowname]”);而是停止整个程序。我已经阅读了文档,在文档前面加上void也没用。谁能告诉我我做错了什么? 下面是代码(它在一个无限循环中,直到您看到下面的中断被称为): imshow(“颜色”,imageColor); imshow(“单色”,图像单色); imshow(“灰度”,图像灰度); 按下int键=等待键(0); 如果(按键>0) { cout,c++,opencv,window,C++,Opencv,Window,您粘贴的代码在调用destroyWindow(通过运行main)后终止。如果这不是您想要的,请编写代码,在调用destroyWindow后执行其他操作。也许您想要一个循环“我已经阅读了文档,将void放在它前面是没有帮助的。”听起来你好像不明白你读了什么。是什么让你认为void有什么用?你认为没有它会发生什么?你可能需要一个@Schwartz说的循环。这可能会有帮助:'while(按键>0){//blabla;按键=等待键(0);}' imshow("Color", imageColor
destroyWindow
(通过运行main
)后终止。如果这不是您想要的,请编写代码,在调用destroyWindow
后执行其他操作。也许您想要一个循环“我已经阅读了文档,将void放在它前面是没有帮助的。”听起来你好像不明白你读了什么。是什么让你认为void
有什么用?你认为没有它会发生什么?你可能需要一个@Schwartz说的循环。这可能会有帮助:'while(按键>0){//blabla;按键=等待键(0);}'
imshow("Color", imageColor);
imshow("Monochrome", imageMonochrome);
imshow("Grayscale", imageGrayscale);
int keyPressed = waitKey(0);
if (keyPressed > 0)
{
cout << keyPressed;
cout << "key was pressed\n";
// Press C to toggle color window
if (99 == keyPressed)
{
if (colorOpen)
{
cout << "Color window closed\n";
void destroyWindow("Color");
colorOpen = false;
}
if (!colorOpen)
{
cout << "Color window opened\n";
imshow("Color", imageColor);
colorOpen = true;
}
}
// Press M to toggle monochrome window
if (109 == keyPressed)
{
if (monochromeOpen)
{
cout << "Monochrome window closed\n";
void destroyWindow("Monochrome");
monochromeOpen = false;
}
if (!monochromeOpen)
{
cout << "Monochrome window opened\n";
imshow("Monochrome", imagebw);
monochromeOpen = true;
}
}
// Press G to toggle grayscale window
if (103 == keyPressed)
{
if (grayscaleOpen)
{
cout << "Grayscale window closed\n";
void destroyWindow("Grayscale");
grayscaleOpen = false;
}
if (!grayscaleOpen)
{
cout << "Grayscale window opened\n";
imshow("Grayscale", image);
grayscaleOpen = true;
}
}
// Break out of infinite loop when [ESC] is pressed:
if (27 == keyPressed)
{
cout << "Escape Pressed\n";
break;
}
}