openCV踩坑记1--读取图像数据失败cv2.imread(image_dir)

转自知乎

用OpenCV读取图像数据

img_bgr = cv2.imread(image_dir)

失败的原因:
1、路径中不能有中文

2、图像的名字不能有中文

3、绝对路径调用方式,要双反斜杠

image_dir='D:\\Documents\\GitHub\\my_OpenCV\\note_Machine Learning for OpenCV\\data\\longmao.jpg'
img_bgr = cv2.imread(image_dir)

4、绝对路径调用方式,要加‘r’

image_dir=r'D:\Documents\GitHub\my_OpenCV\note_Machine Learning for OpenCV\data\longmao.jpg'
img_bgr = cv2.imread(image_dir)

5、(6月7号)亲试有些参考书的调用方式,发现不行,比如:

image_dir='data/longmao.jpg'

(6月8号)又可以了,不知道为什么?(中间晚上的时候电脑重启了)

读取失败时的报错:
print(img_bgr) 的结果是none
openCV踩坑记1--读取图像数据失败cv2.imread(image_dir)_第1张图片

plt.imshow(img_bgr)的结果报错并显示空白图

TypeError: Image data cannot be converted to float

openCV踩坑记1--读取图像数据失败cv2.imread(image_dir)_第2张图片

下面是我调通的正确代码

import cv2
import matplotlib.pyplot as plt
%matplotlib inline
image_dir='D:\\Documents\\GitHub\my_OpenCV\\note_Machine Learning for OpenCV\\data\\longmao.jpg'
img_bgr = cv2.imread(image_dir)
print(img_bgr)
plt.imshow(img_bgr)

openCV踩坑记1--读取图像数据失败cv2.imread(image_dir)_第3张图片
运行环境为:OpenCV 3.4.1 、python 3.5.2 、Windows 7

IDE:jupyter lab

请酌情参考!

你可能感兴趣的:(openCV踩坑记1--读取图像数据失败cv2.imread(image_dir))