色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

圖像處理的顏色空間及其OpenCV實現

智能感知與物聯網技術研究所 ? 來源:通信信號處理研究所 ? 作者:通信信號處理研究 ? 2020-12-25 11:36 ? 次閱讀

對圖像的顏色空間做了一個概念性的介紹,并通過代碼的方式可視化了每種顏色空間的每個通道所表示的意義。

文章內容包括:

什么是顏色空間?

顏色空間有哪些類別?

如何在OpenCV中實現?

什么是顏色空間?

顏色是一種連續的現象,它意味著有無數種顏色。但是,人類的眼睛和感知能力是有限的。所以,為了識別這些顏色,我們需要一種媒介或這些顏色的表示,這種顏色的表示被稱為色彩空間。在技術術語中,一個顏色模型或顏色空間是一個特定的3-D坐標系統以及該系統中的一個子空間,其中每一種顏色都由一個單點表示。

有哪些顏色空間的類型?

目前主要有五種類型的顏色模型。但是,我將只寫一些常見的(RGB、HSV和HSL)。

RGB(Red Green Blue)

HSL(Hue Saturation Lightness)

HSV(Hue Saturation Value)

YUV(Luminance, blue–luminance, red–luminance)

CMYK(Cyan, Magenta, Yellow, Key)

RGB顏色空間:

RGB顏色空間是三維坐標系中紅、綠、藍坐標所表示的著名顏色空間之一。在更專業的術語中,RGB將顏色描述為由三個部分組成的元組。每個部分都可以取0到255之間的值,其中元組(0,0,0)表示黑色,元組(255,255,255)表示白色。元組的第0、第1和第2個部分分別表示紅、綠、藍的分量。

RGB顏色空間的Python實現:

這里我們導入了必要的庫,cv2用于顏色空間轉換,NumPy用于數組操作,Matplotlib用于顯示圖像,os用于訪問圖像目錄,tqdm用于顯示加載欄。

hsl_img=cv2.cvtColor(X[0],cv2.COLOR_BGR2HLS)####CONVERTINGBGRCOLORSPACEINTOHSLCOLORSPACE####
hsl_img_1=hsl_img.copy()
hsl_img_2=hsl_img.copy()
hsl_img_3=hsl_img.copy()
hsl_img_1[:,:,1]=0####HUE-->ZERO####
hsl_img_1[:,:,2]=0
hsl_img_2[:,:,0]=0####SATURATION-->ZERO####
hsl_img_2[:,:,2]=0
hsl_img_3[:,:,0]=0####LIGHTNESS-->ZERO####
hsl_img_3[:,:,1]=0

設置兩個空列表Z和X,分別用于存儲帶有各自圖像的標簽,然后指定圖像大小和路徑目錄。在這之后,我定義了兩個函數,用于返回flower類型(assign_lable)和訪問每個圖像、讀取和調整其大小(make_train_data)。

Z,X=[],[]
IMG_SIZE=150
FLOWER_SUNFLOWER_DIR='../input/flowers-recognition/flowers/flowers/sunflower'

defassign_label(img,flower_type):
returnflower_type

defmake_train_data(flower_type,DIR):
forimgintqdm(os.listdir(DIR)):
label=assign_label(img,flower_type)
path=os.path.join(DIR,img)
img=cv2.imread(path,cv2.IMREAD_COLOR)
img=cv2.resize(img,(IMG_SIZE,IMG_SIZE))#Resizingtheimage

加載圖像,然后在OpenCV以BGR格式讀取圖像時將BGR顏色空間轉換為RGB顏色空間,但Maplotlib使用RGB格式來顯示圖像。這就是為什么我們需要轉換顏色空間后,讀取圖像為RGB。

然后對固定圖像進行三份拷貝,并將每份拷貝的任何雙色通道設為零,分別用于訪問紅、綠、藍通道。如果你讓第0個顏色通道都是0那么你只會得到藍色通道。

make_train_data('Sunflower',FLOWER_SUNFLOWER_DIR)#####LoadingSunflowerData
fix_img=cv2.cvtColor(X[0],cv2.COLOR_BGR2RGB)###########CONVERTINGBGRCOLORSPACEINTORGBCOLORSPACE#########
new_img_1=fix_img.copy()
new_img_2=fix_img.copy()
new_img_3=fix_img.copy()
new_img_1[:,:,0]=0#makingRchannelzero####ForBLUEchannel#####
new_img_1[:,:,1]=0#makingGchannelzero
new_img_2[:,:,1]=0####ForREDcolorChannel####
new_img_2[:,:,2]=0
new_img_3[:,:,0]=0###ForGREENChannel####
new_img_3[:,:,2]=0

顯示圖像:

f,axes=plt.subplots(1,3,figsize=(15,15))
list=[new_img_1,new_img_2,new_img_3]
i=0
foraxinaxes:
ax.imshow(list[i])
i+=1

HSL顏色空間:

HSL的一般含義是色調、飽和度和明度。你可以將HSL以圓柱體的形式可視化,如圖2(a)所示。圍繞圓柱體的是不同的顏色,比如綠色、黃色、紅色等等(我們真正想要的顏色)。飽和度是指顏色的多少,而明度是指顏色有多暗或多亮。正如你所看到的,圓柱體的頂部全是白色,底部全是黑色。

圖2:HSL顏色空間

HSL顏色空間的Python實現:

使用OpenCV函數**cvtColor()**將BGR顏色空間轉換為HSL顏色空間,在這里我們需要傳遞圖像,以及從哪個顏色空間到哪個顏色空間我們想要改變圖像。然后再復制并使兩個顏色通道為零,以便分別顯示每個顏色通道。

hsl_img=cv2.cvtColor(X[0],cv2.COLOR_BGR2HLS)####CONVERTINGBGRCOLORSPACEINTOHSLCOLORSPACE####
hsl_img_1=hsl_img.copy()
hsl_img_2=hsl_img.copy()
hsl_img_3=hsl_img.copy()
hsl_img_1[:,:,1]=0####HUE-->ZERO####
hsl_img_1[:,:,2]=0
hsl_img_2[:,:,0]=0####SATURATION-->ZERO####
hsl_img_2[:,:,2]=0
hsl_img_3[:,:,0]=0####LIGHTNESS-->ZERO####
hsl_img_3[:,:,1]=0

現在顯示三個不同的顏色通道→

f,axes=plt.subplots(1,3,figsize=(15,15))
list=[hsl_img_1,hsl_img_2,hsl_img_3]
i=0
foraxinaxes:
ax.imshow(list[i])
i+=1

HSV顏色空間:

HSV這個名字來自于顏色模型的三個坐標,即色相、飽和度和值。它也是一個圓柱形的顏色模型,圓柱體的半徑表示飽和度,垂直軸表示值,角度表示色調。對于觀察者,色調是占主導地位的,飽和度是混合到色調中的白光的數量,value是chrome的強度,value較低顏色變得更加類似于黑色,value越高,顏色變得更加像顏色本身。通過改變這些參數,我們可以生成不同的顏色。

圖3:HSV顏色空間

HSV顏色空間的Python實現:

使用cvtColor()函數將色彩空間轉換為HSV色彩空間。然后再復制并使兩個通道置為零,以便分別顯示每個通道。

hsv_img=cv2.cvtColor(X[0],cv2.COLOR_BGR2HSV)
hsv_img_1=hsv_img.copy()
hsv_img_2=hsv_img.copy()
hsv_img_3=hsv_img.copy()
hsv_img_1[:,:,1]=0#HUE-->ZERO
hsv_img_1[:,:,2]=0
hsv_img_2[:,:,0]=0#SATURATION-->ZERO
hsv_img_2[:,:,2]=0
hsv_img_3[:,:,0]=0#VALUE-->ZERO
hsv_img_3[:,:,1]=0

單獨顯示每個顏色通道:

原文標題:解析丨圖像處理基礎:顏色空間及其OpenCV實現

文章出處:【微信公眾號:通信信號處理研究所】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 圖像處理
    +關注

    關注

    27

    文章

    1292

    瀏覽量

    56759

原文標題:解析丨圖像處理基礎:顏色空間及其OpenCV實現

文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AI模型部署邊緣設備的奇妙之旅:如何在邊緣端部署OpenCV

    1 簡介 Opencv(Open Source Computer Vision Library)是一個基于開源發行的跨平臺計算機視覺庫,它實現圖像處理和計算機視覺方面的很多通用算法,
    發表于 12-14 09:31

    基于OpenCV的拆分和合并圖像通道實驗案例分享_基于RK3568教學實驗箱

    一、實驗目的 本節視頻的目的是了解圖像通道的概念,學習OpenCV的基本操作,并掌握通過OpenCV實現拆分和合并圖像通道的方法。 二、實驗
    發表于 12-03 14:27

    RK3568 + OpenCV 會碰撞出什么火花?案例詳解:2-1 基于OpenCV的畫線實驗

    一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現圖像處理和計算機視覺方面的很多通用算法。 OpenCV具有以下特點: 不管是科
    發表于 12-03 14:09

    OpenCV教程之OpenCV圖像閾值處理

    閾值的基本概念是為了簡化圖像以進行分析。當我們將圖像轉換為灰度圖像時,必須記住灰度圖像仍然至少有255個值。閾值是將所有內容轉換為白色或黑色的值,基于閾值。假設我們希望閾值為125(2
    的頭像 發表于 11-16 10:16 ?262次閱讀
    <b class='flag-5'>OpenCV</b>教程之<b class='flag-5'>OpenCV</b><b class='flag-5'>圖像</b>閾值<b class='flag-5'>處理</b>

    手寫圖像模板匹配算法在OpenCV中的實現

    OpenCV中的模板匹配是支持基于NCC相似度查找的,但是不是很好用,一個主要的原因是查找最大閾值,只能匹配一個,自己比對閾值,又導致無法正確設定閾值范圍,所以問題很多。于是我重新寫了純Python版本的NCC圖像模板匹配的代碼實現
    的頭像 發表于 11-11 10:12 ?250次閱讀
    手寫<b class='flag-5'>圖像</b>模板匹配算法在<b class='flag-5'>OpenCV</b>中的<b class='flag-5'>實現</b>

    OpenCV圖像識別C++代碼

    安裝OpenCV庫 首先,您需要在您的計算機上安裝OpenCV庫。您可以從OpenCV官網下載預編譯的庫或從源代碼編譯。安裝完成后,確保將OpenCV的頭文件和庫文件添加到您的項目中。
    的頭像 發表于 07-16 10:42 ?2050次閱讀

    opencv圖像識別有什么算法

    OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,提供了大量的圖像處理和計算機視覺相關的算法。以下是一些常見的Ope
    的頭像 發表于 07-16 10:40 ?1062次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV
    的頭像 發表于 07-16 10:38 ?1212次閱讀

    opencv的主要功能有哪些

    OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺庫,提供了大量的計算機視覺算法和工具。以下是OpenCV的主要功能: 圖像處理
    的頭像 發表于 07-16 10:35 ?1567次閱讀

    esp32能不能直接跑opencv?有沒有在板子上面做圖像處理的庫?

    esp32能不能直接跑opencv,有沒有在板子上面做圖像處理的庫
    發表于 06-13 06:59

    如何實現PIL和OpenCV之間圖像數據的轉換呢?

    PIL圖像數據格式轉換成OpenCV圖像數據格式
    的頭像 發表于 02-25 13:43 ?1229次閱讀

    在全志H616核桃派上實現USB攝像頭的OpenCV顏色檢測

    在給核桃派開發板用OpenCV讀取圖像并顯示到pyqt5的窗口上并加入顏色檢測功能,嘗試將圖像中所有藍色的東西都用一個框標記出來。顏色檢測核
    發表于 01-22 10:10

    在核桃派上實現USB攝像頭的OpenCV顏色檢測

    在前幾周的文章中已經介紹過如何在核桃派上用OpenCV讀取圖像并顯示到pyqt5的窗口上,這里在上一篇文章的基礎上,給開發板加入顏色檢測功能,嘗試將圖像中所有藍色的東西都用一個框標記出
    的頭像 發表于 01-20 17:50 ?944次閱讀
    在核桃派上<b class='flag-5'>實現</b>USB攝像頭的<b class='flag-5'>OpenCV</b><b class='flag-5'>顏色</b>檢測

    ELF 1技術貼|如何移植OpenCV

    OpenCV擁有了豐富的常用圖像處理函數庫,采用C/C++語言編寫,可以運行在Linux、Windows、Mac等操作系統上流暢運行,并能夠快速實現一系列
    的頭像 發表于 01-09 13:55 ?400次閱讀
    ELF 1技術貼|如何移植<b class='flag-5'>OpenCV</b>

    使用圖像處理OpenCV從攝像頭獲取數據并在PyQt5上顯示出來

    OpenCV能夠處理圖像、視頻、深度圖像等各種類型的視覺數據
    的頭像 發表于 01-05 17:32 ?2600次閱讀
    使用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>庫<b class='flag-5'>OpenCV</b>從攝像頭獲取數據并在PyQt5上顯示出來
    主站蜘蛛池模板: 小向美奈子厨房magnet| 最近的中文字幕2019国语| jizzxxxx18中国内地| 热久久视久久精品18| 国产成人综合在线| 亚洲欧美一区二区久久| 蜜桃TV成人网站免费打开| 吃奶摸下的羞羞漫画| 亚洲蜜桃AV色情精品成人| 免费观看男生桶美女私人部位| 草莓视频在线看免费高清观看| 亚洲薄码区| 奶头从情趣内衣下露了出来AV | 国产精品青草久久福利不卡| 亚洲中文字幕无码爆乳APP| 男人J放进女人屁股免费观看| 古风H啪肉NP文| 在线观看国产高清免费不卡| 秋霞最新高清无码鲁丝片| 国语对白老女人8av| gv手机在线观看| 亚洲欧洲日韩天堂无吗| 青青久在线视频免费观看| 寂寞护士中文字幕 mp4| 办公室丝袜老师在线观看| 一个人的HD高清在线观看| 熟妇久久无码人妻AV蜜桃| 麻豆一区二区免费播放网站| 国产精品久久久久久亚洲毛片| 最近免费中文字幕大全免费| 翁公吮她的花蒂和奶水| 男污女XO猛烈的动态图| 国产专区青青在线视频| 扒开胸罩揉她的乳尖视频| 中俄两军在日本海等上空战略巡航| 色悠久久综合| 欧美精品久久久久性色AV苍井| 黄小飞二人转| 国产精品高清在线观看93| bl 纯肉 高Hbl被强文| 正在播放黑人杂交派对卧槽|