python – 打开cv错误:( – 1515)scn == 3 || scn == 4在函数cvtColor中

我目前在Ubuntu 14.04,使用python 2.7和cv2.

当我运行此代码时:

import numpy as np
import cv2

img = cv2.imread('2015-05-27-191152.jpg',0)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

它返回:

 File "face_detection.py", line 11, in <module>
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: /home/arthurckl/Desktop/opencv-3.0.0-rc1/modules/imgproc/src/color.cpp:7564: error: (-215) scn == 3 || scn == 4 in function cvtColor

我已经在这里搜索了一个答案,说我可能以错误的方式加载我的照片,因为它应该有3个维度:行,列和深度.

当我打印img.shape时,它只返回两个数字,所以我一定做错了.但我不知道加载照片的正确方法.

解决方法:

使用正斜杠给出完整的图像路径.它解决了我的错误.

例如.

import numpy as np
import cv2

img = cv2.imread('C:/Python34/images/2015-05-27-191152.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

此外,如果在使用cv2.imread加载图像时在第二个参数中给出0而不需要使用cvtColor转换图像,则它已经作为灰度图像加载,例如.

import numpy as np
import cv2

gray = cv2.imread('C:/Python34/images/2015-05-27-191152.jpg',0)
上一篇:1109 Group Photo


下一篇:使用Android Android SDK在Facebook上传照片到Facebook