1. ホーム
  2. python

[解決済み] オープンCVエラーです。(-215) scn == 3 || scn == 4 in function cvtColor

2022-02-03 14:47:53

質問

現在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

ここですでに検索したところ、ある回答では、写真の読み込み方法が間違っている可能性があると書かれていました。

img.shapeを出力すると2つの数値しか返ってこないので、私のやり方が間違っているのでしょう。でも、写真を読み込む正しい方法がわかりません。

どのように解決するのですか?

画像のフルパスにフォワードスラッシュを付けてください。私はこれで解決しました。

import numpy as np
import cv2

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

また 0 を使用して画像を読み込む際に、第2パラメータに cv2.imread を使用した画像変換は必要ありません。 cvtColor グレースケール画像として読み込まれます。

import numpy as np
import cv2

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