重庆大型的网站建设,千图网免费素材,五屏网站建设哪家好,全心代发17做网站基础入门 OpenCV提供的功能非常多#xff0c;图像显示是最基础也是最直观的一部分。它让我们能够直观地看到算法处理后的效果#xff0c;对于调试和验证都至关重要。在OpenCV中#xff0c;图像显示主要依赖于以下四个关键的数据结构和函数。 1、Mat类。这是OpenCV中最基本的…基础入门 OpenCV提供的功能非常多图像显示是最基础也是最直观的一部分。它让我们能够直观地看到算法处理后的效果对于调试和验证都至关重要。在OpenCV中图像显示主要依赖于以下四个关键的数据结构和函数。 1、Mat类。这是OpenCV中最基本的数据结构代表了一个多维的数组通常用于存储图像数据。cv::Mat对象可以用来存储灰度图像、彩色图像以及其他类型的矩阵数据。 2、imshow函数。用于在指定窗口显示图像函数原型为imshow(winname, mat)。其中winname是窗口的名称mat是要显示的图像矩阵通常为cv::Mat对象。 3、namedWindow函数。创建一个窗口并为它分配一个名称。这一步虽然不是必须的但在实际应用中通常会先创建窗口再显示图像以确保窗口大小和位置符合预期。函数原型为namedWindow(winname, flags)其中flags可以用来指定窗口的一些属性比如是否可调整大小等。 4、waitKey函数。用于等待键盘事件发生即等待用户按下某个键。这对于图像显示至关重要因为如果没有它图像窗口会立即关闭。函数原型为waitKey(delay)参数delay指定了等待的时间以毫秒为单位。如果设置为0则表示无限期等待。 实战解析 下面的实战代码读取一张图片并显示在屏幕上直到用户按下任意键后关闭窗口。 第一行和第二行引入了OpenCV库的主要头文件并声明使用cv命名空间这样就不必在每次调用OpenCV函数时都加上cv::前缀。 在main函数中我们使用imread函数尝试从指定路径这里是OpenCV.png实际使用时应替换为真实图片路径读取图像并将其存储在一个名为image的Mat对象中。接下来判断image是否为空即检查图像是否被成功读取。如果不为空则输出错误信息并返回-1结束程序执行。 然后我们使用namedWindow函数创建一个名为Image Show的窗口并设置了标志WINDOW_NORMAL以允许用户调整窗口的大小。通过imshow函数在刚刚创建的窗口中显示image图像。 最后调用waitKey(0)函数使程序暂停并等待用户按下任何键盘按键。参数0意味着程序将无限制地等待直到接收到键盘输入。当用户按键后调用destroyAllWindows()函数来关闭所有由OpenCV创建的窗口。
#include opencv2/opencv.hpp
using namespace cv;#include iostream
using namespace std;int main()
{// 读取图像请替换为你自己的图片路径Mat image imread(OpenCV.png);// 检查图像是否被正确读取if(image.empty()){cout Can not open or find the image endl;return -1;}// 创建一个名为Image Show的窗口WINDOW_NORMAL允许调整窗口大小namedWindow(Image Show, WINDOW_NORMAL);// 在窗口中显示图像imshow(Image Show, image);// 等待用户按键然后关闭窗口0表示无限等待直到用户按键waitKey(0);// 关闭所有窗口destroyAllWindows();return 0;
} 窗口自适应 在某些场景下我们希望窗口能自动适应图像的尺寸。此时可以使用resizeWindow函数并传入图像的宽度和高度。
namedWindow(Image Show, WINDOW_NORMAL);
// image.cols代表图像的宽度, image.rows代表图像的高度
resizeWindow(Image Show, image.cols, image.rows);
imshow(Image Show, image); 执行上面的示例代码运行效果可参考下图。