如何使用cv::namedWindow函数创建一个窗口
时间: 2024-02-12 17:09:52 浏览: 93
使用cv::namedWindow函数可以创建一个窗口,具体使用方法如下:
```cpp
cv::namedWindow(window_name, flags);
```
其中,`window_name`表示窗口的名字,`flags`表示窗口的属性,可以设置为:
- `cv::WINDOW_NORMAL`:普通窗口,可以调整大小。
- `cv::WINDOW_AUTOSIZE`:窗口大小自适应图像大小。
- `cv::WINDOW_OPENGL`:支持OpenGL。
- `cv::WINDOW_FULLSCREEN`:全屏窗口。
下面是一个示例代码:
```cpp
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
{
Mat image = imread("lena.jpg");
namedWindow("image", WINDOW_NORMAL); // 创建一个名为image的普通窗口
imshow("image", image);
waitKey(0);
return 0;
}
```
运行代码后,会弹出一个名字为image的窗口,窗口大小可以调整。如果将`WINDOW_NORMAL`改为`WINDOW_AUTOSIZE`,则窗口大小会自适应图像大小。
相关问题
在使用OpenCV函数之前,需要调用cv::namedWindow函数创建窗口。示例
代码如下:
```cpp
#include <opencv2/opencv.hpp>
int main()
{
// 创建名为 "My Window" 的窗口
cv::namedWindow("My Window");
// 显示图像
cv::Mat img = cv::imread("image.jpg");
cv::imshow("My Window", img);
// 等待用户按下任意键
cv::waitKey(0);
// 关闭窗口
cv::destroyWindow("My Window");
return 0;
}
```
在这个示例代码中,我们首先调用了cv::namedWindow函数来创建一个名为"My Window"的窗口。然后,我们读取了一张图像并使用cv::imshow函数将其显示在窗口中。最后,我们使用cv::waitKey函数等待用户按下任意键,然后使用cv::destroyWindow函数关闭窗口。
cv::namedWindow窗口大小适应父窗口 怎么设置
可以使用 `cv::resizeWindow` 函数调整窗口大小以适应父窗口。具体可以在设置窗口属性之后,添加以下代码:
```cpp
cv::resizeWindow("Mat", ui.widget_7->width(), ui.widget_7->height());
```
其中 `ui.widget_7` 是指要将图像显示在的父窗口,使用 `width()` 和 `height()` 函数获取其宽度和高度,将这些值传递给 `cv::resizeWindow` 函数即可。这样就可以让窗口大小适应父窗口了。
阅读全文