cv2.imread怎么读取中文
时间: 2023-11-02 08:55:26 浏览: 57
在Python中,使用cv2.imread函数读取中文路径的图像会返回None。为了解决这个问题,有两种方法可以尝试。
第一种方法是使用gbk编码将中文路径转换为字节数组,然后再解码为字符串。具体代码如下:
```
import cv2
def cv_imread(file_path = ""):
file_path_gbk = file_path.encode('gbk') # unicode转gbk,字符串变为字节数组
img_mat = cv2.imread(file_path_gbk.decode()) # 字节数组直接转字符串,不解码
return img_mat
```
在这个方法中,我们先将中文路径转换为gbk编码的字节数组,然后再将字节数组转换为字符串,作为cv2.imread函数的输入参数。
第二种方法是使用numpy库的fromfile函数读取图像,并使用cv2.imdecode函数解码为图像。具体代码如下:
```
import cv2
import numpy as np
def cv_imread(filePath):
cv_img = cv2.imdecode(np.fromfile(filePath, dtype=np.uint8), -1)
return cv_img
```
在这个方法中,我们使用numpy库的fromfile函数读取图像文件,然后使用cv2.imdecode函数解码为图像。这种方法可以避免中文路径的编码问题。
这两种方法都可以解决cv2.imread不能读取中文路径的问题,你可以根据自己的需求选择其中一种方法来使用。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)