写在前面:opencv库安装
在终端用pip install
安装opencv-python
库
建议使用国内清华源的镜像去安装,加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
代码如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
报错一
我一开始直接用cv2.imread(path),报错
OpenCV(4.10.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:196: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor’
Q&A
Q:为什么 OpenCV 不支持中文路径?
A:OpenCV 库是在 C++ 写的,而在较早版本的 C++ 标准中并未提供直接的 Unicode 或者多字节字符编码支持。所以,OpenCV 在面对中文路径时,可能解析出现问题,因此最好使用 contains only ASCII 的字符路径。这个问题不只存在于Python中,其他使用 OpenCV 的语言,如 C++,也会遇到。
虽然我的路径没有出现中文和空格,但是用了numpy方法后解决了这个问题
报错二
但还是报错
SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: truncated \UXXXXXXXX escape
结果是发现把路径的\直接复制粘贴成\了
最终效果
import cv2
import matplotlib.pyplot as plt
import numpy
# 读取图像
path = 'C:\\Users\\STEFANOS\\Desktop\\Wallpaper\\A.B\\isle_dead.jpg'
img = cv2.imdecode(numpy.fromfile(path, dtype=numpy.uint8), -1)
# 将BGR图像转为RGB
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 使用matplotlib显示图像
plt.imshow(img_rgb)
plt.axis('off') # 不显示坐标轴
plt.show()
参考:
https://blog.csdn.net/weixin_48477590/article/details/134595606
https://blog.csdn.net/u011505165/article/details/110817296