将三通道二值图像转换为三通道RGB图像

时间:2013-11-19 10:59:38

标签: python opencv

是否有OpenCV函数将三通道二进制图像转换为3通道RGB图像? 这是我的代码,其中disparitySGB.jpg是灰度(3通道图像)。

import cv2
import numpy as np

image=cv2.imread("disparitySGB.jpg")
thresh=cv2.inRange(image,np.array([89,89,89]),np.array([140,140,140]));
cv2.rectangle(np.array(thresh),(100,100),(120,120),(255,255,0),3)
cv2.imshow("thresh",thresh)
cv2.waitKey()

inRange返回8U图像。我担心的是绘制的矩形必须是彩色的。在这种情况下它是白色的。(我认为这是因为图像是三通道二进制图像)。

1 个答案:

答案 0 :(得分:1)

# my dummy channels:
r = np.ones((100,100),np.uint8)  * 100
g = np.ones((100,100),np.uint8)  * 70
b = np.ones((100,100),np.uint8)  * 10

#now, just merge them:
rgb = cv2.merge((r,g,b))

你只能在3channel垫上画彩色的东西。你可能需要:thresh_col = cv2.cvtColor(thresh,cv2.COLOR_GRAY2BGR)然后绘制到那个