使用C++ 编写一个imshow可变窗口大小
时间: 2023-09-17 10:08:45 浏览: 75
以下是使用C++编写一个可变窗口大小的imshow函数的示例代码:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
void imshow(const char* winname, Mat& img, int width, int height)
{
namedWindow(winname, WINDOW_NORMAL);
resizeWindow(winname, width, height);
imshow(winname, img);
waitKey(0);
destroyAllWindows();
}
int main()
{
Mat img = imread("image.jpg");
if (img.empty())
{
cout << "Could not read the image!" << endl;
return -1;
}
int width = 800;
int height = 600;
imshow("image", img, width, height);
return 0;
}
```
在上面的代码中,我们定义了一个名为imshow的函数,它接受三个参数:窗口名称,图像和窗口的宽度和高度。函数通过调用namedWindow和resizeWindow函数来创建一个可变大小的窗口,然后通过调用imshow函数来显示图像。最后,我们调用waitKey和destroyAllWindows函数以等待用户的按键输入和关闭所有窗口。
在主函数中,我们读取了一张图像,然后定义了窗口的宽度和高度,并调用了imshow函数来显示图像。你可以根据需要修改窗口的大小。
阅读全文