OpenCV 4.12.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 物件作為引數。