亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python+OpenCV圖像處理—— 色彩空間轉換

瀏覽:11日期:2022-07-07 14:20:31

一、色彩空間的轉換

代碼如下:

#色彩空間轉換import cv2 as cvdef color_space_demo(img): gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) #RGB轉換為GRAY 這里的GRAY是單通道的 cv.imshow('gray', gray) hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV) #RGB轉換為HSV cv.imshow('hsv', hsv) yuv = cv.cvtColor(img, cv.COLOR_RGB2YUV) #RGB轉換為YUV cv.imshow('yuv',yuv) Ycrcb = cv.cvtColor(img, cv.COLOR_RGB2YCrCb) #RGB轉換為YCrCb cv.imshow('Ycrcb', Ycrcb)src = cv.imread(’D:imageloadexample.png’)cv.namedWindow(’first_image’, cv.WINDOW_AUTOSIZE)cv.imshow(’first_image’, src)color_space_demo(src)cv.waitKey(0)cv.destroyAllWindows()

運行結果:

Python+OpenCV圖像處理—— 色彩空間轉換

1.RGB就是指Red,Green和Blue,一副圖像由這三個channel(通道)構成

2.Gray就是只有灰度值一個channel。

3.HSV即Hue(色調),Saturation(飽和度)和Value(亮度)三個channel

切記(純屬個人理解):

1.百度百科說,將原來的RGB(R,G,B)中的R,G,B統一按照一種轉換關系用Gray替換,形成新的顏色RGB(Gray,Gray,Gray),用它替換原來的RGB(R,G,B)就是灰度圖。

Python+OpenCV圖像處理—— 色彩空間轉換

2.opencv里,COLOR_RGB2GRAY是將三通道RGB對象轉換為單通道的灰度對象。

3.將單通道灰度對象轉換為 RGB 時,生成的RGB對象的每個通道的值是灰度對象的灰度值。

RGB是為了讓機器更好的顯示圖像,對于人類來說并不直觀,HSV更為貼近我們的認知,所以通常我們在針對某種顏色做提取時會轉換到HSV顏色空間里面來處理.

補注:

1.HSV如下圖:

Python+OpenCV圖像處理—— 色彩空間轉換

2.opencv里HSV色彩空間范圍為: H:0-180 S: 0-255 V: 0-255

3.常見的色彩空間有RGB、HSV、HIS、YCrCb、YUV,其中最常用的是RGB、HSV、YUV,其中YUV就是YCrCb(詳見百度百科)。其中YUV的“Y”表示明亮度(Luminance或Luma),也就是灰階值;而“U”和“V” 表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。

二、利用inrange函數過濾視頻中的顏色,實現對特定顏色的追蹤

代碼如下:

#視頻特定顏色追蹤import cv2 as cvimport numpy as npdef extrace_object_demo(): capture=cv.VideoCapture('E:/imageload/video_example.mp4') while True: ret, frame = capture.read() if ret == False: break hsv = cv.cvtColor(frame, cv.COLOR_BGR2HSV) #色彩空間由RGB轉換為HSV lower_hsv = np.array([100, 43, 46]) #設置要過濾顏色的最小值 upper_hsv = np.array([124, 255, 255]) #設置要過濾顏色的最大值 mask = cv.inRange(hsv, lower_hsv, upper_hsv) #調節圖像顏色信息(H)、飽和度(S)、亮度(V)區間,選擇藍色區域 cv.imshow('video',frame) cv.imshow('mask', mask) c = cv.waitKey(40) if c == 27: #按鍵Esc的ASCII碼為27 breakextrace_object_demo()cv.destroyAllWindows()

運行結果:

這里只放追蹤藍色部分的截圖,僅供參考

Python+OpenCV圖像處理—— 色彩空間轉換

注意:

1.Opencv的inRange函數:可實現二值化功能

函數原型:inRange(src,lowerb, upperb[, dst]) -> dst

函數的參數意義:第一個參數為原數組,可以為單通道,多通道。第二個參數為下界,第三個參數為上界

例如:mask = cv2.inRange(hsv, lower_blue, upper_blue)

第一個參數:hsv指的是原圖(原始圖像矩陣)

第二個參數:lower_blue指的是圖像中低于這個lower_blue的值,圖像值變為255

第三個參數:upper_blue指的是圖像中高于這個upper_blue的值,圖像值變為255 (255即代表黑色)

而在lower_blue~upper_blue之間的值變成0 (0代表白色)

即:Opencv的inRange函數可提取特定顏色,使特定顏色變為白色,其他顏色變為黑色,這樣就實現了二值化功能

2.HSV顏色對應的RGB分量范圍表如下:(這里是三通道的)

Python+OpenCV圖像處理—— 色彩空間轉換

三、通道的分離、合并以及某個通道值的修改

代碼如下:

#通道的分離與合并以及某個通道值的修改import cv2 as cvsrc=cv.imread(’E:imageloadexample.png’)cv.namedWindow(’first_image’, cv.WINDOW_AUTOSIZE)cv.imshow(’first_image’, src)#三通道分離形成單通道圖片b, g, r =cv.split(src)cv.imshow('second_blue', b)cv.imshow('second_green', g)cv.imshow('second_red', r)# 其中cv.imshow('second_red', r)可表示為r = cv2.split(src)[2]#三個單通道合成一個三通道圖片src = cv.merge([b, g, r])cv.imshow(’changed_image’, src)#修改多通道里的某個通道的值src[:, :, 2] = 0cv.imshow(’modify_image’, src)cv.waitKey(0)cv.destroyAllWindows()

注意:

1.這里用到了opencv的split函數和merge函數,實現通道的分離和合并。

2.cv.split函數分離出的b、g、r是單通道圖像

以上就是Python+OpenCV圖像處理—— 色彩空間轉換的詳細內容,更多關于Python+OpenCV圖像處理的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 九一精品视频 | 成年黄大片 | 青草悠悠视频在线观看 | 黄色网页免费看 | 亚洲欧洲日产国码在线观看 | 伊人久久99亚洲精品久久频 | 公又粗又长又大又深好爽日本 | 亚洲成年人网址 | 久久综合精品视频 | 黑人草逼 | 亚洲伊人影院 | 欧美日韩一区二区三区久久 | 综合亚洲一区二区三区 | 欧美精品一区二区三区在线播放 | 日本aa在线 | 亚洲成人手机在线 | 毛片在线播放a | 国产精品麻豆传媒 | 黄色免费网络 | 日本特黄a级高清免费酷网 日本特黄一级 | 草妞视频 | 国产日韩高清一区二区三区 | 日本高清不卡一区久久精品 | 成人国内精品久久久久影院 | 国产丰满美女做爰 | 亚洲无吗在线视频 | 免费一级做a爰片性色毛片 免费一级做a爰片性视频 | 国产一二三区在线观看 | 亚洲成熟xxxxx电影 | 特色一级黄色片 | 一区二区三区视频在线播放 | 色综合久久精品中文字幕 | 亚洲二三区 | 一 级 黄 色生活片 一 级 黄 色蝶 片 | 国产第一页久久亚洲欧美国产 | 在线免费观看日韩视频 | 日韩在线小视频 | 日韩国产成人精品视频人 | 五月天综合婷婷 | 久久久久久国产精品免费免 | 在线观看www妖精免费福利视频 |