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.
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]])
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)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With