I am trying to learn contours in python using cv2.
I tried the following code given in a tutorial guide:
import cv2
import numpy as np
from matplotli
If you are getting this error on a raspberry PI with PI camera, try running this command first:
sudo modprobe bcm2835-v4l2
1st print ret. If it is showing false then your image is not taken properly. If it is showing True Try this command - sudo modprobe bcm2835-v4l2 Or in your /etc/modules file add bcm2835-v4l2 at the bottom.
It says your input image should have 3 or 4 channels before applying the function cv2.cvtColor
.
so check your image shape before applying the function by print im.shape
. if the result is None type
(most of the times, this is the problem), your image is not loaded correctly, most probably because your path is not correct.
The point is that your image should have 3 dimensions, rows
, columns
and depth
.
I had this problem and couldn't find a solution, but on the web, it was working. My solution was almost funny - you can't have two streams. I turned off the web stream and then it was fine!