openCV基礎學習札記(7)—顏色空間轉換

openCV基礎學習札記(7)—顏色空間轉換

1.轉換顏色空間

在OpenCV中有超過150 種進行顏色空間轉換的方法。經常用到的也就兩種:BGR↔Gray 和 BGR↔HSV。我們用到的函數是cv2.cvtColor(input_image flag),其中flag就是轉換類型。

  • 對於BGR↔Gray的轉換,我們使用的flag就是cv2.COLOR_BGR2GRAY。

  • 對於BGR↔HSV的轉換我們用的flag就是cv2.COLOR_BGR2HSV。

在 OpenCV 的 HSV 格式中,H(色彩/色度)的取值範圍是 [0,179], S(飽和度)的取值範圍 [0,255],V(亮度)的取值範圍 [0,255]。但是不同的軟件使用的值可能不同。

2.物體跟蹤

現在我們知怎樣將一幅圖像從 BGR 換到 HSV 了,我們可以利用 一點來提取帶有某個特定色的物體。在 HSV 顏色空間中要比在 BGR 空間中更容易表示一個特定顏色。

在我們的程序中,我們提取的是一個藍色的物體。下就是就是我們做的幾步:

• 從視頻中獲取每一幀圖像

• 將圖像換到 HSV 空間

• 設置 HSV 閥值到藍色範圍。

• 獲取藍色物體,當然我們可以做其他任何我們想做的事,比如:在藍色物體周圍畫一個圈。

openCV基礎學習札記(7)—顏色空間轉換

我運行了這個,噪點非常的多,沒出來效果,這是網上的圖,可能還需要再修正這個值,需要消減噪音。

openCV基礎學習札記(7)—顏色空間轉換

3.怎樣找到要跟蹤對象的HSV值

函數cv2.cvtColor()可以用到這裡,現在需要傳入的參數是RGB的值而不是一幅圖。例如要找到綠色的HSV值,只需在終端輸入以下命令或運行該指令腳本。

openCV基礎學習札記(7)—顏色空間轉換

你可以分別用 [H-100,100,100] 和 [H+100,255,255] 做上下閥值。

openCV基礎學習札記(7)—顏色空間轉換


分享到:


相關文章: