Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从图像中提取单个帧_Python_Opencv_Python 2.7_Numpy - Fatal编程技术网

Python 从图像中提取单个帧

Python 从图像中提取单个帧,python,opencv,python-2.7,numpy,Python,Opencv,Python 2.7,Numpy,我目前是python新手,我想从图像中分别提取R、G和B帧 例如,存储我的图像的变量是img 我想知道的 如何使Rimg=img:,:,1 Gimg=img:,:,2 Bimg=img:,:,3 当然,这些是MATlab伪代码,Rimg、Gimg和Bimg只是变量。Numpy风格: Bimg = img[:,:,0] Gimg = img[:,:,1] Rimg = img[:,:,2] OpenCV样式: B,G,R = cv2.split(img) 裸体风格: Bimg = img[:,

我目前是python新手,我想从图像中分别提取R、G和B帧

例如,存储我的图像的变量是img

我想知道的

如何使Rimg=img:,:,1 Gimg=img:,:,2 Bimg=img:,:,3 当然,这些是MATlab伪代码,Rimg、Gimg和Bimg只是变量。

Numpy风格:

Bimg = img[:,:,0]
Gimg = img[:,:,1]
Rimg = img[:,:,2]
OpenCV样式:

B,G,R = cv2.split(img)
裸体风格:

Bimg = img[:,:,0]
Gimg = img[:,:,1]
Rimg = img[:,:,2]
OpenCV样式:

B,G,R = cv2.split(img)

假设您使用Python中多个图像库中的任意一个加载数据,则基本上与Matlab的语法完全相同:

Rimg = img[:,:,0] 
Gimg = img[:,:,1] 
Bimg = img[:,:,2]

假设您使用Python中多个图像库中的任意一个加载数据,则基本上与Matlab的语法完全相同:

Rimg = img[:,:,0] 
Gimg = img[:,:,1] 
Bimg = img[:,:,2]

其他答案是正确的,但这是一种非常常见的操作,因此一行程序可以是惯用的:

# Let `im` be a numpy array
r,g,b = im.transpose((2,0,1))

转置操作符更改周围的轴,以便第一个轴成为通道轴。然后,您可以使用标准的Python多重赋值来赋值给r、g和b。

其他答案都是正确的,但这是一个非常常见的操作,因此一行程序可以是惯用的:

# Let `im` be a numpy array
r,g,b = im.transpose((2,0,1))

转置操作符更改周围的轴,以便第一个轴成为通道轴。然后,您可以使用标准的Python多重分配来分配给r、g和b。

它们被称为颜色通道。你可能会发现这更容易搜索。它们被称为颜色通道。你可能会发现这更容易搜索。啊,这种方式是一个很好的和有效的方式去做,谢谢!啊,这是一个很好的和有效的方式去做,谢谢!谢谢,我最终在numpy stype中完成了这项工作:顺便说一句,优秀的博客对我了解python有很大帮助!谢谢,我最终在numpy stype中完成了这项工作:顺便说一句,优秀的博客对我了解python有很大帮助!