cv2.imread读取图片得到矩阵
时间: 2023-09-04 17:10:38 浏览: 210
cv2.imread函数可以读取图片文件,返回一个矩阵表示图片的像素值。
示例代码:
```
import cv2
img = cv2.imread('example.jpg')
print(img)
```
其中,'example.jpg'是要读取的图片文件的路径。函数返回的img矩阵是一个三维矩阵,表示图片的宽度、高度和通道数。通道数为3表示RGB三个通道,通道数为1表示灰度图像。
相关问题
cv2.imread
cv2.imread是OpenCV库中的一个函数,用于从文件中读取图像。它有两个参数:
- filename:表示图像文件的路径。
- flags:表示如何读取图像的标志,可以是以下值之一:
- cv2.IMREAD_COLOR:加载彩色图像(默认)。
- cv2.IMREAD_GRAYSCALE:加载灰度图像。
- cv2.IMREAD_UNCHANGED:加载图像,包括alpha通道。
需要注意的是,OpenCV中的彩色图像使用BGR格式,而其他库如PIL、PyQt、matplotlib使用的是RGB格式。
此外,还有一些注意事项:
- cv2.imread()如果无法从指定文件读取图像,并不会报错,而是返回一个空矩阵。
- 在Python3中,cv2.imread()不支持中文和空格作为路径和文件名。如果需要使用中文,可以使用cv2.imdecode()进行处理。
- cv2.imread()默认忽略透明通道,但可以使用CV_LOAD_IMAGE_UNCHANGED参数来读取透明通道。
- 对于彩色图像,可以使用flags=0将其读取为灰度图像。
img = cv2.imread('gaussian.bmp', cv2.IMREAD_GRAYSCALE)
这行代码使用 OpenCV 库读取名为 'gaussian.bmp' 的灰度图像,并将其存储到变量 `img` 中。其中,`cv2.IMREAD_GRAYSCALE` 表示以灰度模式读取图像,即将图像转换为单通道的灰度图像。
如果要读取的图像不在当前工作目录下,需要使用图像的完整路径来代替文件名 'gaussian.bmp'。例如,如果图像存储在名为 'images' 的文件夹下,则可以使用以下代码读取图像:
```python
img = cv2.imread('images/gaussian.bmp', cv2.IMREAD_GRAYSCALE)
```
读取的图像将存储在变量 `img` 中,可以对其进行进一步的处理,例如显示图像、保存图像、转换为矩阵等。
阅读全文