OpenCV  4.10.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 对象作为参数。