opencv显示图片(opencv显示yuv图像)
简介:
OpenCV是一款计算机视觉库,拥有许多强大的功能,可用于图像处理、目标识别、视频分析等领域。在使用OpenCV进行图片处理时,我们需要使用一些函数来加载、显示和保存图片。本文将介绍如何在OpenCV中显示图片,包括加载、创建窗口、显示图片等。
多级标题:
一、加载图片
二、创建窗口
三、显示图片
四、完整代码示例
内容详细说明:
一、加载图片
在OpenCV中,我们可以使用函数cv::imread()来加载图片。该函数返回一个cv::Mat对象,该对象保存了图像的像素数据。
下面是函数cv::imread()的定义:
cv::Mat cv::imread(const String &filename, int flags=IMREAD_COLOR )
参数说明:
- filename: 图片文件的路径。
- flags: 图像读取方式,默认为IMREAD_COLOR。常用方式有IMREAD_COLOR(读入彩色图像)、IMREAD_GRAYSCALE(读入灰度图像)和IMREAD_UNCHANGED(读入包含带alpha通道的图像)。
加载图片的示例代码如下:
#include
#include
int main()
{
cv::Mat img = cv::imread("image.jpg", cv::IMREAD_COLOR);
if (img.empty())
{
std::cerr << "Failed to load image!" << std::endl;
return -1;
}
cv::namedWindow("Image", cv::WINDOW_AUTOSIZE);
cv::imshow("Image", img);
cv::waitKey(0);
return 0;
}
二、创建窗口
在显示图像之前,我们需要创建一个新窗口。我们可以使用cv::namedWindow()函数来创建一个带有指定名称的窗口。
下面是函数cv::namedWindow()的定义:
void cv::namedWindow(const String &winname, int flags=WINDOW_AUTOSIZE )
参数说明:
- winname: 窗口的名称。
- flags: 窗口的属性,默认为WINDOW_AUTOSIZE。常用属性有WINDOW_NORMAL(可调整窗口大小)和WINDOW_FULLSCREEN(全屏显示窗口)。
示例代码如下:
cv::namedWindow("Image", cv::WINDOW_AUTOSIZE);
三、显示图片
在创建窗口之后,我们可以使用cv::imshow()函数将图像显示在窗口中。
下面是函数cv::imshow()的定义:
void cv::imshow(const String &winname, InputArray mat )
参数说明:
- winname: 窗口的名称。
- mat: 需要显示的图像。
示例代码如下:
cv::imshow("Image", img);
四、完整代码示例
下面是完整的示例代码:
#include
#include
int main()
{
cv::Mat img = cv::imread("image.jpg", cv::IMREAD_COLOR);
if (img.empty())
{
std::cerr << "Failed to load image!" << std::endl;
return -1;
}
cv::namedWindow("Image", cv::WINDOW_AUTOSIZE);
cv::imshow("Image", img);
cv::waitKey(0);
return 0;
}
通过加载图片、创建窗口和显示图片等步骤,我们可以在OpenCV中轻松显示图片。