![](/img/trans.png)
[英]Is there an efficient way of extracting individual pixels from a number of frames?
[英]Extracting individual frames from an image
我目前是python的新手,我想从图像中分别提取R,G和B帧。
例如,存储我的图像的变量是img
我想知道的
我如何使Rimg = img (:,:,1)
Gimg = img (:,:,2)
Bimg = img (:,:,3)
当然,这些是MATlab伪代码,Rimg,Gimg和Bimg只是变量。
脾气暴躁的风格:
Bimg = img[:,:,0]
Gimg = img[:,:,1]
Rimg = img[:,:,2]
OpenCV样式:
B,G,R = cv2.split(img)
其他答案是正确的,但这是一种常见的操作,单行代码可以是惯用的:
# Let `im` be a numpy array
r,g,b = im.transpose((2,0,1))
transpose
运算符围绕更改轴,以使第一个轴成为通道轴。 然后,您可以使用标准的Python多重分配来分配给r
, g
和b
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.