我目前對python是新手,我想從圖像中分別提取R,G和B幀。從圖像中提取單個幀
例如,存儲我的形象的變量是IMG
我想知道的;
我怎麼做Rimg = img (:,:,1)
Gimg = img (:,:,2)
Bimg = img (:,:,3)
Ofcource,這些都是MATLAB僞代碼和RIMG,Gimg和BIMG只是變量。
我目前對python是新手,我想從圖像中分別提取R,G和B幀。從圖像中提取單個幀
例如,存儲我的形象的變量是IMG
我想知道的;
我怎麼做Rimg = img (:,:,1)
Gimg = img (:,:,2)
Bimg = img (:,:,3)
Ofcource,這些都是MATLAB僞代碼和RIMG,Gimg和BIMG只是變量。
numpy的風格:
Bimg = img[:,:,0]
Gimg = img[:,:,1]
Rimg = img[:,:,2]
OpenCV的風格:
B,G,R = cv2.split(img)
謝謝,我結束了它在numpy stype :)順便說一句,優秀的博客,幫助我瞭解python! – 2013-05-11 00:06:24
其他的答案是正確的,但是這是一種常見的足夠的操作,一襯墊可以是慣用:
# Let `im` be a numpy array
r,g,b = im.transpose((2,0,1))
的transpose
操作者周圍的變化的軸,使得第一軸線成爲頻道軸。然後你可以使用標準的Python多任務分配到r
,g
和b
。
啊這種方式是一個很好的和有效的方式去做,謝謝! – 2013-05-11 00:04:33
它們被稱爲顏色通道。你可能會發現更容易搜索。 – Blender 2013-05-08 19:28:35