cv2.imread打开tif文件, 'NoneType' object has no attribute 'shape'
时间: 2023-06-23 09:51:00 浏览: 298
dat.zip_.dat_DAT_MATLAB dat _dat文件
`cv2.imread()` 函数默认只支持读取常见的图片格式,如 .jpg、.png 等,不支持读取 .tif 格式的图像文件。因此,如果你使用 `cv2.imread()` 函数读取 .tif 文件,就会返回一个 `None` 对象,而对 `None` 对象使用 `shape` 属性会报错。
要读取 .tif 格式的图像文件,可以使用 `cv2.imread()` 函数的 `-1` 参数,即 `cv2.IMREAD_UNCHANGED`,来读取包含 alpha 通道的图像,但这可能会导致读取的图像数据不准确,建议使用专门的库来读取 .tif 文件,例如 `tifffile` 库。
以下是使用 `tifffile` 库读取 .tif 文件的示例代码:
```python
import tifffile as tiff
img = tiff.imread('image.tif')
print(img.shape)
```
这样就可以正确读取 .tif 格式的图像文件,避免了 'NoneType' object has no attribute 'shape' 的错误。
阅读全文