Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

open cv error: (-215) scn == 3 || scn == 4 in function cvtColor

I'm currently in Ubuntu 14.04, using python 2.7 and cv2.

When I run this code:

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

it returns:

 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 

I already searched here and one answer said that I could be loading my photo the wrong way, because it should have 3 dimensions: rows, columns and depth.

When I print the img.shape it returns only two numbers, so I must be doing it wrong. But I don't know the right way to load my photo.

like image 901
arthurckl Avatar asked May 28 '15 12:05

arthurckl


People also ask

What is cvtColor in OpenCV?

cvtColor() method is used to convert an image from one color space to another. There are more than 150 color-space conversion methods available in OpenCV. We will use some of color space conversion codes below. Syntax: cv2.cvtColor(src, code[, dst[, dstCn]])


1 Answers

Give the full path of image with forward slash. It solved the error for me.

E.g.

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

Also, if you give 0 in second parameter while loading image using cv2.imread than no need to convert image using cvtColor, it is already loaded as grayscale image eg.

import numpy as np import cv2  gray = cv2.imread('C:/Python34/images/2015-05-27-191152.jpg',0) 
like image 133
AdityaIntwala Avatar answered Sep 20 '22 15:09

AdityaIntwala