最近在学习用opencv和python进行图像处理,常常遇到一个报错-215,就打算整理下来:
- 最常见的就是路径地址写错
- 除了别的答主常说的路径地址写错之外,我还发现了一个非常隐蔽的问题,如下:
for negfile in os.listdir("street"):
filename = 'street/%s' % negfile
img = cv2.imread(filename)
img = cv2.resize(img, (512, 512))
for j in range(5):
rand_y = random.randint(0, img.shape[0] - hroi)
rand_x = random.randint(0, img.shape[1] - wroi)
roi = img[rand_y: rand_y + hroi, rand_x:rand_x + wroi, :]
x_neg.append(hog.compute(roi, (64, 64)))
这是我照着课本一个一个写下来的,但是在运行的最后报错了!
-215的错误我遇到过好几次了,可我对着路径查了无数遍,也没有找到一点毛病。。。
这时我灵机一动,我要看看哪里出了问题!所以我把每一个文件名都输出了。。
for negfile in os.listdir("street"):
filename = 'street/%s' % negfile
print(negfile)
img = cv2.imread(filename)
img = cv2.resize(img, (512, 512))
for j in range(5):
rand_y = random.randint(0, img.shape[0] - hroi)
rand_x = random.randint(0, img.shape[1] - wroi)
roi = img[rand_y: rand_y + hroi, rand_x:rand_x + wroi, :]
x_neg.append(hog.compute(roi, (64, 64)))
经过几百次循环之后,我发现了一个东西。。。你又是哪只小猫咪?
经过多方查证,这是在文件夹里查看缩略图时自动产生的,都不是图片,当然会报错啦,只要删掉就好啦。方法如下:
- 打开“控制面板”的“外观与个性化”
2. 点击“显示隐藏的文件与文件夹”
3. 打勾选项“始终显示图标,从不显示缩略图”,再点击确定
- 回到我们的数据集,将图片复制下来,新建另一个文件夹粘贴下来就好啦。
不要忘记删除print()哦,帮到你就点个赞吧,笔芯~