我有一个N图像,想在python中使用CV2将它分成三个RGB通道图像。
我还想要一个好的文档,我可以找到openCV的所有功能,因为我是OpenCV的新手。
答案 0 :(得分:18)
就像使用cv2.imread
加载图片然后使用cv2.split
一样简单:
>>> import cv2
>>> import numpy as np
>>> img = cv2.imread("foo.jpg")
>>> b,g,r = cv2.split(img)
OpenCV文档可从docs.opencv.org
获得答案 1 :(得分:3)
如documentation tutorial中所述,就性能(时间)而言,cv2.split()是一项昂贵的操作,因此首选numpy索引:
import cv2
import numpy as np
img = cv2.imread("foo.jpg")
b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]
请记住,opencv将图像读取为BGR而不是RGB