VideoCapture.open(0) won't recognize pi cam

20,003

Solution 1

sudo modprobe bcm2835-v4l2

will "enable" the camera for opencv automatically.

make sure you have the camera enabled from the raspberry config, either gui or raspi-config. the above loads the necessary drivers to handle everything automatically, i.e. loads the appropriate interfaces (v4l2 drivers) for the raspberry camera.

works out of the box on raspbian jessie. other releases might include the drivers by default, but the link below contains info on compiling the drivers in your worst case. so you should be able to get this to work with pidora as well.

more info: https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=62364

Solution 2

I assume your question is about the C++ API, not the python one? As far as I understand the raspberry pi camera is not a usb camera and as such should be approached differently. For python there is is picamera package which works like a charm (with opencv). I never used the C++ interface but a quick google leads to this

Share:
20,003

Related videos on Youtube

DMEM
Author by

DMEM

Sr. Director of R&D

Updated on July 19, 2022

Comments

  • DMEM
    DMEM almost 2 years

    I have been working with my Raspberry Pi 2B for a while now. Testing the Pi cam using raspistill works great but trying to use OpenCV functions such as VideoCapture.open(); won't work. trying the same command with a USB camera works just fine. I tried different indexes as inputs but nothing works for the pi cam. What am I missing here?

  • DMEM
    DMEM about 9 years
    Indeed I was talking about C++. Thank you for the link!
  • DMEM
    DMEM about 9 years
    So this actually works but not with VideoCapture. According to what I read here it is not possible to use OpenCV's VideoCapture with raspberry pi cam.
  • Claude
    Claude about 9 years
    I use openCV with video capture in python, which in the end is just a wrapper around C++ calls. I don't actually use the VideoCapture call, but do get each raw frame from the camera, using the instructions here. The trick they use there is to use capture (as opposed to record), but tell it to use the video-port and not the still-port of the camera. No idea if that helps you further along your way...
  • Josh Davis
    Josh Davis almost 8 years
    This fixed the problem for me on Jessie. Simple and effective.
  • user1988824
    user1988824 over 6 years
    Note: your rpi camera will work right out off the box using the PiCamera library BUT it won't work directly using openCV unless you run the above command provided by ats, thank you
  • Marlon
    Marlon about 6 years
    That did the trick for me. Raspberry Pi 2 Model B + Python 3 + OpenCV 3.1.0 and Raspbian Stretch. Thanks.
  • Vishal Kaul
    Vishal Kaul almost 6 years
    Great, activated the camera!