c++opencv imshow窗口大小可调
时间: 2024-06-05 16:05:24 浏览: 445
在 OpenCV(版本 4.x及以上)中,`imshow` 函数用于显示图像到预设的窗口,但默认情况下,窗口大小是固定的。然而,你可以使用 `cv::namedWindow` 和 `cv::resizeWindow` 函数来调整窗口的大小。这里是如何操作的:
1. 首先,创建一个窗口:
```cpp
cv::namedWindow("My Image", cv::WINDOW_NORMAL); // 或者用 cv::WINDOW_AUTOSIZE 弹出一个自适应大小的窗口
```
`WINDOW_NORMAL` 表示窗口大小可调,而 `WINDOW_AUTOSIZE` 则会根据图像内容自动调整窗口大小。
2. 显示图像时,如果想调整窗口大小,可以在之后调用 `resizeWindow`:
```cpp
cv::imshow("My Image", image);
cv::resizeWindow("My Image", width, height); // 设置特定的宽度和高度
```
3. 如果你想在程序运行期间让窗口随图像大小动态调整,可以在每次显示图像时自动调整窗口:
```cpp
cv::imshow("My Image", image);
cv::setWindowProperty("My Image", cv::WND_PROP_SIZE, cv::Size(width, height)); // 使用 Size 对象指定新尺寸
```
阅读全文