欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何利用OpenCV進(jìn)行特征(顏色、形狀)提取

 更新時(shí)間:2022年05月20日 09:45:41   作者:liiiiiiiiiiiiike  
特征提取是降維過(guò)程的一部分,其中原始數(shù)據(jù)的初始集被劃分并減少到更易于管理的組,這篇文章主要給大家介紹了關(guān)于如何利用OpenCV進(jìn)行特征(顏色、形狀)提取的相關(guān)資料,需要的朋友可以參考下

圖像處理

圖像處理所做的只是從圖像中提取有用的信息,從而減少數(shù)據(jù)量,但保留描述圖像特征的像素。

下面從圖像中提取顏色、形狀和紋理特征的方法開(kāi)始

1. 顏色

每次處理圖像項(xiàng)目時(shí),圖像的色彩空間都會(huì)成為最先探索的地方,而我們最常用的就是RGB色彩空間。那么接下來(lái)使用OpenCV,我們可以將圖像的顏色空間轉(zhuǎn)換為HSV、LAB、灰度、YCrCb、CMYK等。

a. HSV(色相飽和度值)

  • 色調(diào)H:描述主波長(zhǎng),是指定顏色的通道
  • 飽和度S:描述色調(diào)/顏色的純度/色調(diào)
  • 值V:描述顏色的強(qiáng)度
import cv2
from google.colab.patches import cv2_imshow

image = cv2.imread(image_file)
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
cv2_imshow(hsv_image)

下圖為RGB和HSV

b. LAB

  • L:描述顏色的亮度,與強(qiáng)度互換使用
  • A : 顏色成分范圍,從綠色到品紅色
  • B:從藍(lán)色到黃色的顏色分量
import cv2
from google.colab.patches import cv2_imshow

image = cv2.imread(image_file)
lab_image = cv2.cvtColor(image, cv2.COLOR_BGR2LAB)
cv2_imshow(lab_image)

下圖為RGB和LAB顏色空間可視化

b. YCrCb

  • Y : 伽馬校正后從 RGB 顏色空間獲得的亮度
  • Cr:描述紅色 ® 分量與亮度的距離
  • Cb:描述藍(lán)色 (B) 分量與亮度的距離
import cv2
from google.colab.patches import cv2_imshow

image = cv2.imread(image_file)
ycrcb_image = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb)
cv2_imshow(ycrcb_image)

下圖為RGB 與 YCrCb 顏色空間

一旦我們已經(jīng)識(shí)別或探索了足夠多的圖像色彩空間,并確定我們只對(duì)單個(gè)通道感興趣,我們就可以使用*cv2.inRange()*來(lái)屏蔽不需要的像素。這在 HSV 顏色空間中尤其實(shí)用。

import cv2
from google.colab.patches import cv2_imshow

# Reading the original image
image_spot = cv2.imread(image_file)
cv2_imshow(image_spot)

# Converting it to HSV color space
hsv_image_spot = cv2.cvtColor(image_spot, cv2.COLOR_BGR2HSV)
cv2_imshow(hsv_image_spot)

# Setting the black pixel mask and perform bitwise_and to get only the black pixels
mask = cv2.inRange(hsv_image_spot, (0, 0, 0), (180, 255, 40))
masked = cv2.bitwise_and(hsv_image_spot, hsv_image_spot, mask=mask)
cv2_imshow(masked)

RGB vs HSV vs Masked 圖像使用 cv2.inRange() 檢索黑點(diǎn)

2. 形狀

一旦我們充分探索了顏色特征,我們可能會(huì)在某個(gè)時(shí)候想要提取圖像中的形狀。例如,我們?nèi)蝿?wù)是找到不同類(lèi)型的杯子,而顏色不是特別重要。同樣,需要做的就是將圖像轉(zhuǎn)換為其他顏色空間,看看是否有任何顏色空間會(huì)使對(duì)象的邊緣或形狀更加突出,然后我們就可以使用cv2.finContours來(lái)檢索圖像中的所有輪廓。具體使用方式可以查看OpenCV文檔

總結(jié)

到此這篇關(guān)于如何利用OpenCV進(jìn)行特征(顏色、形狀)提取的文章就介紹到這了,更多相關(guān)OpenCV特征提取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論