Python 三通道二值图像到三通道RGB图像的转换

Python 三通道二值图像到三通道RGB图像的转换,python,opencv,Python,Opencv,是否有OpenCV函数将三通道二进制图像转换为三通道RGB图像? 这是我的代码,其中disparitySGB.jpg是灰度(3通道图像) inRange返回8U图像。我关心的是绘制的矩形必须是彩色的。在这种情况下,它是白色的。(我认为这是因为图像是三通道二进制图像) 你只能在3通道的垫子上画彩色的东西。你可能需要:thresh_col=cv2.cvtColor(thresh,cv2.COLOR_GRAY2BGR),然后画出这个Thanx作为答案,但我想要的是“转换”而不是“创建”,我正在添加一些

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

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


你只能在3通道的垫子上画彩色的东西。你可能需要:thresh_col=cv2.cvtColor(thresh,cv2.COLOR_GRAY2BGR),然后画出这个

Thanx作为答案,但我想要的是“转换”而不是“创建”,我正在添加一些代码,这样你就可以清楚地了解我的要求。你是对的,你只能在3通道的垫子上画彩色的东西。你可能需要:
thresh\u col=cv2.cvtColor(thresh,cv2.COLOR\u GRAY2BGR)
然后画进去,我想图像是3通道mat,但它的数据类型是这样的,它不适应颜色,如果它是单通道mat,就一定没有轮廓。但是在这种情况下,我得到的是白色轮廓。好的!这是我的错误,cv2.COLOR_GRY2BGR实际工作。非常感谢您的帮助。:)您可以将此添加到答案中,我将接受您的最佳答案!
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()
# 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))