[OpenCV基礎][Python]影像的色彩空間轉換

更新於 2024/02/22閱讀時間約 4 分鐘

涉及圖像處理計算機視覺時,色彩空間轉換是一個常見操作,應用如下:

  • 降維: 將一張彩色圖像轉換為灰度圖像可以減少數據的維度,簡化處理過程,同時在某些情況下保留重要的視覺信息。
  • 突顯特徵: 在某些情況下,某些色彩通道可能包含冗餘或不必要的信息,通過轉換到其他色彩空間,可以更好地突顯圖像中的重要特徵
  • 色彩分割和物體識別: 在一些應用中,特定色彩空間的使用有助於區分不同對象區域,從而實現對象的識別或分割。

影像色彩空間轉換是指將一張圖片從一種色彩表示方式轉換為另一種的過程。常見的色彩空間包括RGB(紅綠藍)CMYK(青、品紅、黃、黑)、HSV(色相、飽和度、明度)等。

圖檔名稱有連結到維基百科色彩空間詳細的介紹。


HSV與HSL 色彩空間

HSV與HSL 色彩空間


常見的色彩空間轉換方法:

  1. RGB到灰度(Grayscale): 將彩色圖像轉換為灰度圖像。這可以通過取RGB通道的平均值或者使用特定的權重進行轉換來實現。
  2. RGB到HSV:RGB色彩空間轉換為HSV色彩空間。這種轉換使得色相、飽和度明度的調整更加直觀。
  3. RGB到CMYK:RGB色彩空間轉換為CMYK色彩空間,通常用於印刷。CMYK表示青、品紅、黃和黑。
  4. HSV到RGB:HSV色彩空間轉換回RGB色彩空間。這在進行色彩修正合成不同效果的圖像時很有用。
  5. YUV轉換:RGB轉換YUV色彩空間,其中Y表示亮度UV表示色度。這在數字視頻編碼中常被使用。
  6. Lab色彩空間: CIE Lab色彩空間是一種基於人眼視覺感知的色彩模型,它分為亮度(L)和兩個色度通道(a和b)

OpenCV的cvtColor則提供了以下幾種轉換代碼:

語法:

cv2.cvtColor(src, code)
  • src: 輸入圖像,即待轉換的圖像。
  • code: 轉換代碼,指定了轉換的類型,例如從BGR到灰度、BGR到HSV等。可以使用cv2.COLOR_* 常數來指定轉換類型。

轉換代碼:

  1. BGR到灰度(Grayscale):
    cv2.COLOR_BGR2GRAY
  2. 灰度到BGR:
    cv2.COLOR_GRAY2BGR
  3. BGR到HSV:
    cv2.COLOR_BGR2HSV
  4. HSV到BGR:
    cv2.COLOR_HSV2BGR
  5. BGR到Lab:
    cv2.COLOR_BGR2Lab
  6. Lab到BGR:
    cv2.COLOR_Lab2BGR
  7. BGR到YUV:
    cv2.COLOR_BGR2YUV
  8. YUV到BGR:
    cv2.COLOR_YUV2BGR
  9. BGR到RGB:
    cv2.COLOR_BGR2RGB
  10. RGB到BGR:
    cv2.COLOR_RGB2BGR
  11. BGR到RGBA:
    cv2.COLOR_BGR2RGBA
  12. RGBA到BGR:
    cv2.COLOR_RGBA2BGR

程式範例

轉換成灰階

import cv2

# 讀取輸入圖像
img = cv2.imread('111.jpg')
# 將圖片轉換成灰階影像
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 顯示原始圖像和灰階後的圖像
cv2.imshow('Original Image', img)
cv2.imshow('Gray Image', gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
灰階比較圖

灰階比較圖

轉換成HSV

import cv2

# 讀取輸入圖像
img = cv2.imread('111.jpg')
# 將圖片轉換成HSV影像
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# 顯示原始圖像和HSV後的圖像
cv2.imshow('Original Image', img)
cv2.imshow('HSV Image', HSV_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
HSV轉換後

HSV轉換後


根據自己需要的影像特徵來選用想要的色彩空間吧~












avatar-img
128會員
209內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
螃蟹_crab的沙龍 的其他內容
warpAffine 和 warpPerspective 都是 OpenCV 中用於圖像變換的函數,主要差異在於這兩種函數所使用的變換矩陣的類型和適用場景。 本文主要討論warpAffine,另外warpPerspective可以此篇文章
當我們在拍照時,有時候會期望圖像中物體是呈現我們想要的樣子,就可以利用透視變換的方式,將物體捏造成我們想要的樣子。 當我們拍攝文件或書籍時,如果有角度和距離的變化,文件可能會變形。透視變換可用於校正這種變形,使文件呈現平整的視覺效果。 cv2.warpPerspective
OpenCV 提供了多種用於邊緣偵測的方法,其中一些常見的包括 Sobel、Scharr、Laplacian,還有 Canny 邊緣檢測器。這些方法可以幫助我們檢測圖像中的暗明強度變化,從而找到物體的邊緣。
在生活中常看到的美圖秀秀或美圖修修或者其他圖像編輯軟體,通常使用各種濾波器和模糊化技術來實現照片的修飾和美化效果。這些濾波和模糊化技術可以應用於不同的區域,以改進照片的外觀,包括平滑皮膚、去除細節、調整對比度等。 本文會介紹 OpenCV 四種影像模糊化的方法
在影像處理中,我們總是會想把圖像內一些物件的特徵讓它明顯一點,形態學運算就是一個好用強大的工具。 形態學運算是圖像處理中的一個重要概念,用於改善或改變圖像的形狀。在OpenCV中,形態學運算提供了一系列操作,包括開運算、閉運算、禮帽運算和黑帽運算。這些操作通常應用於二值圖像,用於去除噪聲、連接物體
形態學操作在影像處理中有多種應用,特別是在處理二值化影像(黑白影像)。 在影像處理應用上,基本上都由侵蝕,膨脹這兩種方法,組合搭配而成。 常見應用場景 物體檢測與分割: 形態學操作可以用於增強或改善二值化影像中的物體邊界,使得物體的檢測和分割更加準確。
warpAffine 和 warpPerspective 都是 OpenCV 中用於圖像變換的函數,主要差異在於這兩種函數所使用的變換矩陣的類型和適用場景。 本文主要討論warpAffine,另外warpPerspective可以此篇文章
當我們在拍照時,有時候會期望圖像中物體是呈現我們想要的樣子,就可以利用透視變換的方式,將物體捏造成我們想要的樣子。 當我們拍攝文件或書籍時,如果有角度和距離的變化,文件可能會變形。透視變換可用於校正這種變形,使文件呈現平整的視覺效果。 cv2.warpPerspective
OpenCV 提供了多種用於邊緣偵測的方法,其中一些常見的包括 Sobel、Scharr、Laplacian,還有 Canny 邊緣檢測器。這些方法可以幫助我們檢測圖像中的暗明強度變化,從而找到物體的邊緣。
在生活中常看到的美圖秀秀或美圖修修或者其他圖像編輯軟體,通常使用各種濾波器和模糊化技術來實現照片的修飾和美化效果。這些濾波和模糊化技術可以應用於不同的區域,以改進照片的外觀,包括平滑皮膚、去除細節、調整對比度等。 本文會介紹 OpenCV 四種影像模糊化的方法
在影像處理中,我們總是會想把圖像內一些物件的特徵讓它明顯一點,形態學運算就是一個好用強大的工具。 形態學運算是圖像處理中的一個重要概念,用於改善或改變圖像的形狀。在OpenCV中,形態學運算提供了一系列操作,包括開運算、閉運算、禮帽運算和黑帽運算。這些操作通常應用於二值圖像,用於去除噪聲、連接物體
形態學操作在影像處理中有多種應用,特別是在處理二值化影像(黑白影像)。 在影像處理應用上,基本上都由侵蝕,膨脹這兩種方法,組合搭配而成。 常見應用場景 物體檢測與分割: 形態學操作可以用於增強或改善二值化影像中的物體邊界,使得物體的檢測和分割更加準確。
你可能也想看
Google News 追蹤
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
本章介紹了 CSS 中的顏色和背景屬性,包括文本顏色的設置方法、背景顏色和背景圖片的應用、背景重複和位置的配置,以及線性漸變和徑向漸變的使用。這些知識將幫助你更靈活地設計和美化網頁。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
這篇文章主要介紹了繪圖軟體中的色彩模式,包括RGB和CMYK的概念和用法。對於網路上使用和印刷的影像處理有很好的指導意義。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
當今數位化快速發展的時代,圖像處理已經成為平面設計、出版業以及廣告製作中不可或缺的一環。Adobe Illustrator和InDesign作為行業內公認的專業設計軟件,它們在處理各式各樣的影像方面擁有強大的功能,但同時也伴隨著諸多需要注意的細節。今天,讓我們深入探討置入影像時的細節管理,從色彩模式
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
在數位設計的世界中,我們總是被色彩所包圍,而其中一個關鍵的元素就是色彩描述檔(又稱:描述檔、ICC色彩描述檔)。 它是一個將印表機、螢幕等裝置具備的色域資訊數值化的檔案唷!或許你也曾經思考過,當我們看到[R:0/G:0/B:255]或是[C:100%/M:100%/Y:0%]這樣的數值時,心中
Thumbnail
用photoshop製圖時常會用到混和模式的效果, 但切成網頁圖片時,卻呈現不出來,例如光暈旁邊都會帶黑邊, 最近看到一個css3的混色模式可以達成這樣的效果...
Thumbnail
徵的就是你 🫵 超ㄅㄧㄤˋ 獎品搭配超瞎趴的四大主題,等你踹共啦!還有機會獲得經典的「偉士牌樂高」喔!馬上來參加本次的活動吧!
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
本章介紹了 CSS 中的顏色和背景屬性,包括文本顏色的設置方法、背景顏色和背景圖片的應用、背景重複和位置的配置,以及線性漸變和徑向漸變的使用。這些知識將幫助你更靈活地設計和美化網頁。
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
Thumbnail
這篇文章主要介紹了繪圖軟體中的色彩模式,包括RGB和CMYK的概念和用法。對於網路上使用和印刷的影像處理有很好的指導意義。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
當今數位化快速發展的時代,圖像處理已經成為平面設計、出版業以及廣告製作中不可或缺的一環。Adobe Illustrator和InDesign作為行業內公認的專業設計軟件,它們在處理各式各樣的影像方面擁有強大的功能,但同時也伴隨著諸多需要注意的細節。今天,讓我們深入探討置入影像時的細節管理,從色彩模式
Thumbnail
Creative Coding 作品變化概念,有或沒有的差別,隨機性,色彩模式的調整...等
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
在數位設計的世界中,我們總是被色彩所包圍,而其中一個關鍵的元素就是色彩描述檔(又稱:描述檔、ICC色彩描述檔)。 它是一個將印表機、螢幕等裝置具備的色域資訊數值化的檔案唷!或許你也曾經思考過,當我們看到[R:0/G:0/B:255]或是[C:100%/M:100%/Y:0%]這樣的數值時,心中
Thumbnail
用photoshop製圖時常會用到混和模式的效果, 但切成網頁圖片時,卻呈現不出來,例如光暈旁邊都會帶黑邊, 最近看到一個css3的混色模式可以達成這樣的效果...