cv::imshow 显示一张图片
时间: 2023-07-02 22:06:47 浏览: 61
下面是使用 `cv::imshow` 显示图片的示例代码:
```cpp
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
cv::Mat image = cv::imread("image.jpg"); // 读取图片
if (image.empty())
{
std::cout << "Failed to load image!" << std::endl;
return -1;
}
cv::namedWindow("Image"); // 创建窗口
cv::imshow("Image", image); // 显示图片
cv::waitKey(0); // 等待按键事件
return 0;
}
```
这段代码首先使用 `cv::imread` 函数读取一张图片,然后创建名为 "Image" 的窗口,最后使用 `cv::imshow` 函数显示图片。`cv::waitKey` 函数用于等待按键事件,直到用户按下任意键后窗口才会关闭。
相关问题
cv::Mat 裁剪图片
要裁剪一张图像,你可以使用 OpenCV 库中的 `cv::Mat` 类。以下是一个简单的例子,展示了如何裁剪图像:
```cpp
#include <opencv2/opencv.hpp>
int main()
{
// 读取图像
cv::Mat image = cv::imread("image.jpg");
// 指定裁剪区域的矩形范围
cv::Rect roi(100, 100, 200, 200);
// 裁剪图像
cv::Mat croppedImage = image(roi);
// 显示原始图像和裁剪后的图像
cv::imshow("Original Image", image);
cv::imshow("Cropped Image", croppedImage);
// 等待按下任意键
cv::waitKey(0);
return 0;
}
```
在这个例子中,首先使用 `cv::imread` 函数读取了一张图像。然后,我们定义了一个 `cv::Rect` 对象,指定了裁剪区域的矩形范围。这里的 `(100, 100)` 是裁剪区域的左上角坐标,`200` 是裁剪区域的宽和高。接下来,通过在原始图像上使用括号运算符,传入裁剪区域的矩形范围来裁剪图像。最后,使用 `cv::imshow` 函数显示原始图像和裁剪后的图像,并使用 `cv::waitKey` 函数等待按下任意键。
请注意,这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。
opencv imshow 显示窗口大小
在 OpenCV 中使用 `cv::imshow()` 函数来显示图像时,默认情况下,窗口的大小是根据图片大小自动调整的。如果你想手动设置窗口大小,可以使用 `cv::namedWindow()` 函数来创建窗口并设置其大小,然后使用 `cv::imshow()` 函数来显示图像。
以下是一个示例代码,展示了如何创建一个名为 “Display window” 的窗口,并将其大小设置为 640x480 像素:
```c++
#include <opencv2/opencv.hpp>
int main()
{
cv::Mat image = cv::imread("image.jpg");
cv::namedWindow("Display window", cv::WINDOW_NORMAL);
cv::resizeWindow("Display window", 640, 480);
cv::imshow("Display window", image);
cv::waitKey(0);
return 0;
}
```
在上面的代码中,`cv::namedWindow()` 函数创建了一个名为 “Display window” 的窗口,并将其大小设置为 640x480 像素。然后,`cv::imshow()` 函数在这个窗口中显示了一张图片。最后,`cv::waitKey()` 函数等待用户按下任意键,以便关闭窗口。