如何在Python中使用OpenCV读取图像

要在Python中使用OpenCV读取图像,请使用cv2.imread()方法。 cv2.imread()方法从指定的文件路径加载图像。如果无法读取图像(由于权限不正确,文件丢失,格式不受支持或格式无效),则cv2.imread()方法将返回一个空矩阵。

Python OpenCV

我们将使用OpenCV(开源计算机视觉)打开图像。 OpenCV-Python是旨在解决计算机视觉问题的Python绑定库。

OpenCV是主要针对实时计算机视觉的编程功能库。它最初由Intel开发,后来得到Willow Garage和Itseez的支持。该库是跨平台的,可以在开源BSD许可下免费使用。

安装Python OpenCV

要在Python中使用OpenCV,我们必须安装opencv-python模块。

键入以下命令。

python3 -m pip install opencv-python

# OR

pip install opencv-python

要在我们的项目中使用opencv-python,我们必须在文件中导入cv2模块。

import cv2

Python cv2.imread()

cv2.imread()方法从指定的文件加载图像。

句法

cv2.imread(path, flag)

参量

path:这是一个字符串,代表要读取的图像的路径。
标志:它指定读取图像的方式。默认值为cv2.IMREAD_COLOR。所有三种类型的标志描述如下:

  1. cv2.IMREAD_COLOR:它定义要加载彩色图像。图像的任何透明度都将被忽略。这是默认标志。另外,我们可以为此标志传递整数值1。
  2. cv2.IMREAD_GRAYSCALE:它定义为以灰度模式加载图像。或者,我们可以为此标志传递整数值0。
  3. cv2.IMREAD_UNCHANGED:它说明了如何按原样加载图像,包括alpha通道。另外,我们可以为此标志传递整数值-1。

返回值

该方法返回从指定文件系统加载的图像。

使用默认标志的示例

编写以下代码。

import cv2

path="info.png"

# Using cv2.imread() method
image = cv2.imread(path)

# Displaying the image
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destoryAllWindows()

输出量

使用OpenCV读取图像

cv2.waitKey()函数等待用户按下任何键。

cv2.destroyAllWindows()函数关闭所有打开的窗口。

以灰度模式加载图像

如果要将RGB图像转换为灰度图像,这将很有帮助。

编写以下代码。

import cv2

path="info.png"

# Using cv2.imread() method
image = cv2.imread(path, 0)

# Displaying the image
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destoryAllWindows()

输出量

读取灰度

cv2.IMREAD_UNCHANGED

我们可以将标志cv2.IMREAD_UNCHANGED传递给cv2.imread()函数。

import cv2

path="info.png"

# Using cv2.imread() method
image = cv2.imread(path, cv2.IMREAD_UNCHANGED)

# Displaying the image
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destoryAllWindows()

输出量

您可以从输出中看到图像未更改。

结论

读取彩色图像文件时,OpenCV imread()读取为行(高度)x列(宽度)x颜色(3)的Numpy数组ndarray。颜色的顺序是BGR(蓝色,绿色,红色)。

请注意,OpenCV是BGR,Pillow是RGB。

就是使用Python中的OpenCV读取图像。

资讯来源:由0x资讯编译自APPDIVIDEND,版权归作者Krunal所有,未经许可,不得转载
你可能还喜欢