OpenCV4機器學習(二):圖像的讀取、顯示與存儲
前言:

本專欄主要結合OpenCV4(C++版本),來實現一些基本的圖像處理操作、經典的機器學習算法(比如K-Means、KNN、SVM、決策樹、貝葉斯分類器等),以及常用的深度學習算法。
文章目錄
一、OpenCV4頭文件介紹
二、讀取圖像
二、顯示圖像
三、保存圖像
四、實戰小結
環境配置與搭建:
OpenCV4機器學習(一):OpenCV4+VS2017環境搭建與配置
一、OpenCV4頭文件介紹
想要使用OpenCV的類與函數,需要引用相關頭文件,頭文件中定義了所需的類與函數。
在OpenCV3.0版本之后,只須引用一個頭文件即可使用OpenCV里所有的函數與功能。opencv.hpp頭文件包含了OpenCV中所有模塊的頭文件。
#include "opencv.hpp"
1
如下圖所示,是OpenCV4中主要的頭文件:
下面對里面的一些重要的頭文件進行解釋說明:
二、讀取圖像
imread()用來讀取圖片,其定義如下:
Mat cv::imread(const String & filename, int flags = IMREAD_COLOR)
1
函數參數:
filename:圖像文件名
flags:讀取時使用的色彩模式標志位,從cv::imreadModels中取值,1為原圖彩色模式,0為灰度模式。
在讀取圖像后,可以通過cv::Mat類的empty方法判斷是否正確讀取了圖像,如果讀取失敗,則退出程序:
Mat img = imread("test.jpg", 1) if(img.empty()) return -1;
1
2
讀取圖像后,也可以通過讀取二維矩陣的寬和高,來獲取圖像的寬和高:
int width = img.cols; int height = img.rows;
1
2
二、顯示圖像
首先新建圖像顯示窗口(不是必須的):
namedWindow("src", WINDOW_AUTOSIZE);
1
調用imshow()函數顯示圖像:
imread("src", img);
1
為了方便顯示窗口停留方便查看,可以等待按鍵響應后再退出:
waitKey(0);
1
該函數默認參數值為0,當參數<=0時,表示永久等待直至按下鍵盤;當參數>0時,表示等待的ms數。
三、保存圖像
imwrite 函數實現把圖像存儲為指定格式的文件的功能。實現如下:
imwrite("save.jpg", img);
1
imwrite 函數的定義如下:
bool imwrite(const String & filename, InputArray img, const vector
1
參數解釋:
filename:要保存的文件名,包含文件拓展名
img:待存儲的圖像
params:與存儲格式相關的參數,比如壓縮比等。
四、實戰小結
讀取、顯示和保存圖像的整體代碼如下:
#include
1
2
3
4
5
6
7
8
9
10
11
12
13
14
顯示結果如下:
本專欄所有完整的代碼將在我的GitHub倉庫上更新,歡迎大家前往學習:
https://github.com/Keyird/OpenCV4-Machine-Learning
進入GitHub倉庫,點擊 star (紅色箭頭所示),第一時間獲取干貨:
最好的關系是互相成就,各位的「三連」就是【AI 菌】創作的最大動力,我們下期見!
OpenCV 機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。