彩色圖像轉(zhuǎn)換為灰度圖像
第一種方式通過 imread 讀取圖像的時候直接設(shè)置參數(shù)為 0 ,自動轉(zhuǎn)換彩色圖像為灰度圖像
第二種方式,可以通過 split 進行通道分離,或者叫做讀取單個通道,也可以將一個彩色圖像分離成 3 個單通道的灰度圖像
今天要學習的方法,是通過一個叫做 cvtColor
的方法實現(xiàn)該操作。
cv2.cvtColor()
方法用于將圖像從一種顏色空間轉(zhuǎn)換為另一種顏色空間。
OpenCV 提供了 150 多種 color-space 轉(zhuǎn)換方法。多到用不過來~
該方法的語法格式為:
cv2.cvtColor(src, code[, dst[, dstCn]])
參數(shù):
- src:它是要更改其色彩空間的圖像。
- code:它是色彩空間轉(zhuǎn)換代碼。
- dst:它是與 src 圖像大小和深度相同的輸出圖像,可選參數(shù)。
- dstCn:它是目標圖像中的頻道數(shù)。如果參數(shù)為 0,則通道數(shù)自動從 src 和代碼得出,可選參數(shù)。
參數(shù)翻譯成中文,也找到了
cvtColor(src,dst,code,dstCn) ===> (原圖像,color轉(zhuǎn)化代碼,輸出圖像,輸出通道)
轉(zhuǎn)換灰度圖代碼如下:
import cv2
# path
path = './7_1.jpg'
# 讀取圖片
src = cv2.imread(path)
# 圖片展示窗口名稱
window_name = 'Image'
# BGR 轉(zhuǎn)換成灰度圖
image = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
cv2.imshow(window_name, image)
cv2.waitKey()
也看到了 HSV 格式圖片,轉(zhuǎn)換結(jié)果如下,有點嚇人,順便轉(zhuǎn)換了其他的一些格式:
import cv2
import matplotlib.pyplot as plt
# path
path = './7_1.jpg'
# 讀取圖片
src = cv2.imread(path)
# 圖片展示窗口名稱
window_name = 'Image'
# BGR 轉(zhuǎn)換成 RGB
image1 = cv2.cvtColor(src, cv2.COLOR_BGR2RGB)
# BGR 轉(zhuǎn)換成 Gray
image2 = cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)
# BGR 轉(zhuǎn)換成 HSV
image3 = cv2.cvtColor(src, cv2.COLOR_BGR2HSV)
plt.subplot(1, 3, 1)
plt.imshow(image1)
plt.title("RGB")
plt.subplot(1, 3, 2)
plt.imshow(image2,"gray")
plt.title("GRAY")
plt.subplot(1, 3, 3)
plt.imshow(image3,"hsv")
plt.title("hsv")
plt.show()
偽彩色圖像
彩色圖片可以變成灰度圖,那相應(yīng)的灰度圖也可以變成彩色的,當然這里說的是偽彩色圖像。
這部分內(nèi)容由于目前應(yīng)用場景不明確,給大家貼一下我學習過程中看到的博客吧。
https://blog.csdn.net/kingroc/article/details/101302997
https://blog.csdn.net/sns1991sns/article/details/102838303
https://blog.csdn.net/xiaxuesong666/article/details/79522904
關(guān)于偽彩色圖像的說明,在百度百科可以直接查閱到。
感謝大佬方向性的指導
到此這篇關(guān)于Python OpenCV 彩色與灰度圖像的轉(zhuǎn)換實現(xiàn)的文章就介紹到這了,更多相關(guān)OpenCV彩色與灰度圖像轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- OpenCV圖像處理之常見的圖像灰度變換
- Opencv實現(xiàn)圖像灰度線性變換