如何在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。所有三种类型的标志描述如下:
- cv2.IMREAD_COLOR:它定义要加载彩色图像。图像的任何透明度都将被忽略。这是默认标志。另外,我们可以为此标志传递整数值1。
- cv2.IMREAD_GRAYSCALE:它定义为以灰度模式加载图像。或者,我们可以为此标志传递整数值0。
- 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()
输出量
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读取图像。