Opencv Python 简明教程

OpenCV Python - Image Properties

OpenCV 会在 NumPy 数组中读取图像数据。此 ndarray 对象的 shape() 方法揭示了图像属性,例如维度和通道。

使用 shape() 方法的命令如下:

>>> img = cv.imread("OpenCV_Logo.png", 1)
>>> img.shape
(222, 180, 3)

在上述命令中:

  1. 前两个项目 shape[0] 和 shape[1] 表示图像的宽度和高度。

  2. Shape[2] 表示通道数。

  3. 3 表示图像有红绿蓝 (RGB) 通道。

类似地,size 属性返回图像大小。图像大小的命令如下:

>>> img.size
119880

ndarray 中的每个元素代表一个图像像素。

我们可以借助下面提到的命令访问和操作任何像素的值。

>>> p=img[50,50]
>>> p
array([ 1, 1, 255], dtype=uint8)

Example

以下代码将前 100X100 个像素的颜色值更改为黑色。 imshow() 函数可以验证结果。

>>> for i in range(100):
   for j in range(100):
      img[i,j]=[0,0,0]

Output

imshow

图像通道可以通过使用 split() 函数拆分为单个平面。可以通过使用 merge() 函数合并通道。

split() 函数返回一个多通道数组。

我们可以使用以下命令拆分图像通道:

>>> img = cv.imread("OpenCV_Logo.png", 1)
>>> b,g,r = cv.split(img)

您现在可以对每个平面进行操作。

假设我们把蓝色通道里的所有像素设为 0,代码如下 −

>>> img[:, :, 0]=0
>>> cv.imshow("image", img)

结果的图像将如下所示 −

individual planes