簡體   English   中英

Python:將灰度圖像轉換為RGB

[英]Python: Perform Grey Image to RGB

我有一個灰色圖像,我想將其轉換為RGB。 我將如何在OpenCV中做到這一點?

image = cv2.imread("image.jpg", cv2.IMREAD_GRAYSCALE)
cv2.imshow('Grey Scale Image', image)
cv2.waitKey()


backtorgb = cv2.cvtColor(image,cv2.COLOR_GRAY2RGB)
cv2.imshow('GRAY2RGB Image', backtorgb)
cv2.waitKey()

我嘗試使用GREY2RGB,但它不會更改圖像。 我哪里做錯了?

這里有一個基本的誤解。 您無法刪除所有顏色信息,然后從無處神奇地重新創建它。

刪除后,它就消失了。

那么, GRAY2RGB是什么? 它只使用灰色通道並將其復制到R,G和B通道中,因此您擁有一個3通道圖像,但是所有3個圖像都相同,因此看起來是灰色的。

還有其他方法可以做到,您不需要openCV,最后圖像是矩陣,可以通過乘法完成。請看這篇文章: 如何在python中將RGB圖像轉換為灰度圖像?

編輯:萬一鏈接更改,給出解決方案。

圖像可以看成3種矩陣,一種是紅色的,一種是綠色的,一種是藍色的,這是三種通道的顏色RGB,每一種的每個像素的信息范圍在0到255之間。將其轉換為灰度圖像是通過亮度的表示來求和所有顏色的總和,這是在估計系統中已經獲得的系數:

def rgb2gray(rgb):
    r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2]
    gray = 0.2989 * r + 0.5870 * g + 0.1140 * b
    return gray

在openCV中,我不知道是否有功能,但這應該足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM