cv2模块安装
问题:在安装cv2模块时,下意识就pip install cv2,这时会提示找不到该模块
(venv) PS D:\Python Projects\BackgroundRemove> pip install cv2
ERROR: Could not find a version that satisfies the requirement cv2 (from versions: none)
ERROR: No matching distribution found for cv2
解决:pip install opencv-python (cv2是opencv中的一种图像处理的工具)
cv2读取图片失败
问题:cv2读取图片的结果为None
path = "C:\\Users\\Administrator\\Desktop\\测试图片\\001.jpg"
img_obj = cv2.imread(path)
print(type(img_obj))
# 运行结果
<class 'NoneType'>
解决:图片路径不能包含中文
1.将图片放到英文路径下
path = "C:\\Users\\Administrator\\Desktop\\001.jpg"
img_obj = cv2.imread(path)
print(type(img_obj))
# 运行结果
<class 'numpy.ndarray'>
2.判断图片路径是否包含中文,若包含则提示
先判断图片路径是否包含中文,并且给出提示,这更加符合真实的使用场景
def is_chinese_included(strs):
for i in strs:
if '\u4e00' <= i <= '\u9fa5':
return True
return False
def img_read(path):
img_obj = cv2.imread(path)
if not is_chinese_included(path):
print(f"图片读取成功{type(img_obj)}")
else:
print(f"图片读取失败{type(img_obj)},无法读取包含中文的路径【{path}】")
path1 = "C:\\Users\\Administrator\\Desktop\\001.jpg"
path2 = "C:\\Users\\Administrator\\Desktop\\测试图片\\001.jpg"
img_read(path1)
img_read(path2)
# 运行结果
图片读取成功<class 'numpy.ndarray'>
图片读取失败<class 'NoneType'>,无法读取包含中文的路径【C:\Users\Administrator\Desktop\测试图片\001.jpg】