現在、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
私はすでにここを検索しましたが、1つの答えは、行、列、奥行きの3つの次元を持つ必要があるため、写真を間違った方法でロードしている可能性があることを示しています。
img.shapeを印刷すると、2つの数値しか返されないので、間違っているはずです。しかし、写真を読み込む正しい方法がわかりません。
img = cv2.imread('2015-05-27-191152.jpg',0)
0パラメータは既に1チャネルのグレースケール画像として画像をロードしています。そのため、さまざまなフラグを試してみるimg = cv2.imread('2015-05-27-191152.jpg')
かgray = cv2.imread('2015-05-27-191152.jpg',0)
、次のフラグを確認してください。docs.opencv.org