OpenCV3.4.0學習筆記(五)——色彩模型轉換與分量提取

本篇博文用於記錄利用 OpenCV 實現圖像的各色彩模型轉換與模型分量提取的方法。

圖像色彩模型的轉換

OpenCV3.4.0 直接提供了圖像色彩模型相互轉化的函數

void cv::cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );

輸入參數 src, dst 爲輸入色彩模型轉化前後的圖像,一般爲 cv::Mat 數據類型。 函數支持原位操作,即 srcdst 可以是同一個對象。
輸入參數 code 指明瞭色彩模型的轉化方法,可以參考枚舉類型 cv::ColorConversionCodes 。常用的色彩類型轉化有 COLOR_BGR2GRAY、COLOR_BGR2XYZ、COLOR_BGR2YCrCb、COLOR_BGR2HSV 及其逆轉換等等。

色彩通道的分離與融合

cv::Mat 的通道分離在前文中已經介紹,這裏稍微簡述加以記錄。

	//通道分離函數
	void cv::split(cv::Mat &muiltChannalMat, std::vector<cv::Mat> channalsMaps);
	//muiltChannalMat爲多通道Mat,channalsMaps爲單通道Mat向量,多通道與單通道Mat的規模一樣,
	//channalsMaps共有muiltChannalMat.channals個元素

	//通道整合函數,參數意義同split
	void cv::merge(std::vector<cv::Mat> channalsMaps, cv::Mat &muiltChannalMat);

結合模型轉化、通道分離與融合可以輕鬆實現目標圖像特定色彩分量的提取與重組。
圖像在不同色彩分量下的統計直方圖可以通過opencv的統計函數 cv::calcHist 進行求取,函數的使用在這裏不進行闡述。
不同色彩分量下的直方圖數據可以作爲目標圖像的特徵描述向量,具有很強的魯棒性。直方圖結合SVM分類器在嵌入式環境、需求簡單的工業應用範圍中可以快速、穩定地實現圖像的簡單分類。

發佈了8 篇原創文章 · 獲贊 1 · 訪問量 1416
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章