OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
图像入门

上一教程: 使用 CUDA 为 Tegra 构建 OpenCV
下一教程: 编写 OpenCV 文档

原作者Ana Huamán
兼容性OpenCV >= 3.4.4
警告
本教程可能包含过时信息。

目标

在本教程中,您将学习如何

源代码

解释

现在,让我们分析主代码。第一步,我们从 OpenCV 示例中读取图像“starry_night.jpg”。为此,对 cv::imread 函数的调用使用第一个参数指定的路径加载图像。第二个参数是可选的,它指定我们想要图像的格式。这可能是:

  • IMREAD_COLOR 以 BGR 8 位格式加载图像。这是此处使用的默认值。
  • IMREAD_UNCHANGED 按原样加载图像(包括 alpha 通道,如果存在)
  • IMREAD_GRAYSCALE 将图像加载为强度图像

读取后,图像数据将存储在 cv::Mat 对象中。

注意
OpenCV 支持 Windows 位图 (bmp)、可移植图像格式 (pbm、pgm、ppm) 和 Sun 光栅 (sr、ras)。借助插件(如果您自己构建库,则需要指定使用它们,但在我们提供的软件包中默认存在),您还可以加载 JPEG (jpeg、jpg、jpe)、JPEG 2000 (jp2 - 在 CMake 中称为 Jasper)、TIFF 文件 (tiff、tif) 和可移植网络图形 (png) 等图像格式。此外,OpenEXR 也是一种可能性。

之后,将执行检查,以查看图像是否已正确加载。

然后,使用对cv::imshow 函数的调用显示图像。第一个参数是窗口标题,第二个参数是要显示的cv::Mat 对象。

因为我们希望窗口显示直到用户按下按键(否则程序会过快结束),所以我们使用cv::waitKey 函数,它的唯一参数是等待用户输入的时间长度(以毫秒为单位)。零表示无限期等待。返回值是按下的键。

最后,如果按下的键是“s”键,则将图像写入文件。为此,调用了cv::imwrite 函数,该函数具有文件路径和cv::Mat 对象作为参数。