Hi all
Building opencv source code in Raspberry Pi will take about 6-7 hours.
Here is the link to install opencv from source
Easy method to install opencv
1)Connect to Raspberry Pi using ssh. Fig shows an example of connecting Rpi using ssh
2)Install synaptic package manager from command line of raspberry pi
3)Install tight-vnc server from command line
4)Start a vnc server in Rpi for viewing the screen and detection window from opencv
Enter the command to start a vnc-server on Rpi
vncserver :1 -geometry 1366x600 -depth 16 -pixelformat rgb565
#New ‘X’ desktop is raspberrypi:1
5)Start vnc client from PC
eg: vncviewer 192.168.1.3:5901
eg:vncviewer rpi_ip:5901
6)Start synaptic from root terminal like this
7)Install opencv from synaptic like this
8)Download the source code from below
9)Copy files from PC to Rpi using scp command
scp -r facedetect.py face.xml pi@192.168.1.3:"/home/pi"
10)Run python file using following command
python facedetect.py --cascade=face.xml 0
Output
--------
Video:
77 comments:
Why don't you just apt-get it? Surely that would be way faster then installing VNC for no reason...
sudo apt-get install *opencv*
Done.
Yes ,ofcourse. It can be done in both ways. I did it in this way to showcase the desktop and make a feel that it is running in Rpi. :)
It will perform better if you run from ssh terminal
I think this post cover most of commands for interacting with Rpi, So this will a good tutorial for beginers.
which type of camera are u used?
are you done same process in java and cross compilation of raspberry pi.and please give the source code for raspberry pi face detection .
Hi Arun
I am using I ball face2facecam. I am not using java and all. I included the source code in the post itself.
http://www.mediafire.com/?ahd677sxyfpf1m7
When I used opencv on the Pi I just ran sudo apt-get install opencv-python and did a whole host of things. Check out my blog post http://orictosh.blogspot.co.uk/?m=1
Correction on that package name should be python-opencv
Hi,
i saw the opencv with eye and mouth and nose detection.iam download u r given source code and supported file.how to compile that face detection in the raspberry pi.please give me some steps how send this material on raspberry pi and how to compile that?iam send source code through scp command.is this ryt procedure?please clarify me.
Thanks&Regards,
K.Arungopal
Hi Arun,
There is no change in the compilation procedure of opencv, its same as the pc, because we are working on OS layer, so command will be same.
What matters is processing power. When i tried the facedetection code, i scaled the image into 320x240. So what you have to do is scale image before processing. If you run face,nose and eye detection, it will take good amount of processing power, just rescale image into 320x240 and try, i have a doubt whether it work or not in RasPi.
ok thanks joseph.i want to compile opencv in raspberry pi.do u know about this?are u haveing any source code?presently iam working on this board for opencv face and eye and mouth detection.iam compiled u r code in raspi that is face detection only with rectangular.it is working cool.thanks.....when iam run the ./video it show s the error.please help me how to comipile that programe.
Thanks&Regards,
K.Arungopal
i have one dought.in python face detection is done in ractangular face using same code it is possible to get the mouth and eyes and nose detection.it is possible?if possible what changes iam done?i mean adding of extra xml file sin programe.how to add xml files in programe.
Thanks&Regards,
K.Arungopal
Hi, I think that is usefull show the list of packages that you installed on raspbian throught synaptic, while tha packages are installable throught apt, if the list is complete, someone could install opencv with terminal instead that on X or compile the library (lot of time).
Hi joseph thanks for the reply...what is my question is on the raspberry i want do the face detection?so please help me for giving any idea about that source code and xml files.....
Thanks&Regards,
K.Arungopal
hello joseph,i ran your face detection code on raspberrypi,but i am getting detection time in between 600 and 900 ms,your is 200 ms.i am using intex webcam.
Thanks&Regards,
Abhilash
Hi
Did you try it without vnc_server?? And what about your webcam resolution, Is it 640x480?
hi,if i only use ssh,then its giving gtk error.should i modify the program?my webcam resolution is 640x480.
-abhilash
Hi joseph and anonymous....
first in raspberry pi install vncserver...for that open a terminal and type sudo apt-get install toghtvncserver....and open a host terminal and type sudo apt-get install xvnc4viewer....after installation in host type open a terminal and type in host vncviewer...type u r ip address and enter and it asks password and enter it shows the raspberry pi gui screen.....
Thanks&Regards,
K.Arungopal
I get an error message when I put this in the terminal ...
4)Start a vnc server in Rpi for viewing the screen and detection window from opencv
Enter the command to start a vnc-server on Rpi
vncserver :1 -geometry 1366x600 -depth 16 -pixelformat rgb565
#New ‘X’ desktop is raspberrypi:1
Did you install tightvnc package in Raspberry Pi ? You need to install it first.
OK I installed it now. And got the vncserver running.
Now I cant get further at step 5).
I have a mac. How can I start the vncviewer there?
I got it already I installed VNC Viewer for Mac in the end and I hat to put the IP Adress like this in there 192.168.178:1.
Also OpenVC is working now. I had to kill motion first.
Thanks for the great tutorial!
how to transfer facedetect.py file from windows xp to raspberry pi vis ssh?
scp is not working..
Try this
http://winscp.net/eng/index.php
thanx....
now i got another problem...
installed opencv from synaptic...and installed packages....
and i saved facedetect.py and face.xml in my gmail draft...then i saved both from raspberry pi platform(using midori browser)...
when i type this
python facedetect.py --cascade=face.xml 0
it gives the error
no module named cv2.cv in line 10....
please help...
Hi varun..iam using this blog..its absolutely work on raspberry pi..First u have to install simplecv in raspberry pi..http://www.internetdelascosas.cl/2012/12/06/instalando-bibliotecas-en-python/...Just follow this link..install python on raspberry pi bacause code in python..and for installing opencv in raspberry pi
sudo apt-get install libcv-dev
sudo apt-get install python-opencv
sudo apt-get install libopencv-dev
sudo apt-get install libcv2.3
sudo apt-get install libopencv-doc
Thats it u r opencv is installing on raspberry pi..its is very simple to use..try this sure u get output..xml and code files is send through only scp command only..otherwise it can not works.
Thanks&Regards,
K.Arungopal
after installing the above packages....there is no space left in pi....
what to do now?
showin no space left error....
please help
im using type B rpi....comes with 512MB RAM..
@Varun ,I am using 32GB SD card, may be you need to expand the SD Card size,
"no space left error" is only due to SD card not due to RAM !!
ok im using 4gb card...
but i have a doubt...after plugin out the card from rpi and connecting to pc using card reader it shows
only 58MB used...
Hi, thank you for this tutorial. I'm following the steps from terminal in my macbook. i reached this point and got:
pi@raspberrypi ~ $ vncviewer 102.168.2.2:5901
-bash: vncviewer: command not found
:( i don't know what to do here. can you please help me?
Hi ,You need to run vncviewer from client system ,ie ubuntu. For getting vncviewer command in client system, you have to install xvnc4viewer from synaptic.
Hi, after running the command
root@PIWEB:/OpenCV# python facedetect.py --cascade=face.xml 0
i got the following error:
(result:10414): Gtk-WARNING **: cannot open display: localhost:10.0
what is wrong there???
Thx
i was able to get the cam working on raspberry using the above method but how to power the servos as they ar enot moving if i power them from raspberry.How you used external power for servos ?
Thanks
@AV Exporters
Servos will consume good amount of current, so power to raspberry pi must have suffficient amount of current sourcing capacity. I think 5V,2A power supply will work fine with one or two servos
I am using my Note 2 adapter to power raspberry.None of the servos move and now my raspberry just hangs after detecting face for the first time
Got it all working.Servos work and detect face but then the tilt servo just stuck at 180 degree any ideas
Hi guys...i have Rpi and laptop with Ubuntu OS...so i want to run video via USB cam using by Rbi...please tel me step by step procedure...
Thanks
regards,
Dhanash.
hi good eve...i installed Raspbian in Rpi...now i want to install opencv c++ on Rpi...how to install.. help me guys....
thankyou
regards
prakash
Hi Dhanash
You can view usb cam using this following tool called camorama
$sudo apt-get update
$sudo apt-get install camorama
Hi Prakash
This post also gives idea about the installation of opencv c++.
Hi,
I did the full steps of the tutorial, but I have a problem running the program.
I plug 3 different cameras and I also install camorama, but all of them give me this error:
$ python facedetect.py --cascade=face.xml 0
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
VIDIOC_QUERYMENU: Invalid argument
libv4l2: error allocating conversion buffer
mmap: Cannot allocate memory
munmap: Invalid argument
munmap: Invalid argument
munmap: Invalid argument
munmap: Invalid argument
Unable to stop the stream.: Bad file descriptor
munmap: Invalid argument
munmap: Invalid argument
munmap: Invalid argument
munmap: Invalid argument
libv4l1: error allocating v4l1 buffer: Cannot allocate memory
HIGHGUI ERROR: V4L: Mapping Memmory from video source error: Invalid argument
The only one that do not show this error is the Asus Xtion but it wont shows anything!!
regards
Andres
Hey Lentin!
I am using eye blink detection using opencv on raspberry pi. It is working fine but it lags a lot. It might be probably due to large image resolution. Is it possible to change the image resolution and how?
Please help!
Thanks !
Hi Kevin
I think its version 2.4.3 or 2.4.5
Andreas
I couldnt find the reason, its not the problem of code i think. Its a bug found in low virtual memory. What is the size of memory card you using?
Hey Lentin,
Actually my question was different...:D ... I am using your eye blink detection code on my raspberry pi... It is working fine but it lags a lot. It might be probably due to large image resolution. Is it possible to change the image resolution and how?
Please help!
Hi Kevin
Change the line number 77 and 78. This indicate the resolution. Reduce the resolution to 160 x 120.
Hi Lentin,
you are talking about these two commands right?
cv::Mat img_display;
roiImg.copyTo( img_display );
Thanks!
im using 512
Hi Kevin
I mean the following lines
width = 320 #leave None for auto-detection
height = 240 #leave None for auto-detection
change into
width = 160 #leave None for auto-detection
height = 120 #leave None for auto-detection
Hi Andreas
Are you using 512 mb sdcard? Try to upgrade it into 4gb or 8 gb. May be you can solve this issue
Hi Lentin!, actually I was talking about eye blink detection not about face detection:)..So please tell me what changes do I have to make in eye blink detection code?
Hi Kevin
Sorry for the carelessness :).Eye blink detection will take good system resource so i dont suggest you to run it in Rpi.
Currently i didnt put code to reduce resolution because it was tested in a pc. But you can make a try in Rpi with reduced resolution. You can do this by adding 2 more lines below the cvCaptureFromCAM(0) as show below. Make a try and please tell me if it is working in Rpi or not.
capture = cvCaptureFromCAM( 0);
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_WIDTH, 320);
cvSetCaptureProperty( capture, CV_CAP_PROP_FRAME_HEIGHT, 240 );
Hi Lentin,
im using now 16gb and still not working!!! any Idea?
Andres
Hi Andres
I think its because of driver fault. My web cam support uvc driver and it displays video stream.
I searched in internet about this issue, but it remains unresolved. For debugging this issue please mail me the screenshot of 'dmesg' and 'lsusb' to lentin007@gmail.com
The blog was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog,
looking forward for more contents...Great job, keep it up.
stream host.
Hi Lentin
The post is really good for me.
Actually, I run a python file and display is shown, ok.
But there is no red rectangular which is not shown.
And i want to change code for showing a position that is face location. How should i do ?
Hi John
Rectangular only appears when there is a face detection.. The detection depends upon lighting conditions and all.. you can print the face location too ..
pt1 = (int(x * image_scale), int(y * image_scale))
pt2 = (int((x + w) * image_scale), int((y + h) * image_scale))
You can print pt1 and pt2 ..Avg of pt1 and pt2 gives center .. Pt1 and pt2 contain x,y of the rectangle
Hi, I'm using the raspberry camera. Now, when I start the script I have a blank window (result). Can you help me? This is a screenshot: https://dl.dropboxusercontent.com/u/22330630/DSC_0869.jpg P.S. I want to precise that the cam works when I use raspistill
Hi Kamil
I think rpi cam is not support in opencv now. I was using a usb webcam for this project.
Thanks for the response and compliments for your blog ;)
I found a solution installing UV4L > http://www.linux-projects.org/modules/sections/index.php?op=viewarticle&artid=16 ;)
im developing driver profile authentication system in car ..for that face recognition is needed .. can this raspberry pi+camera work like a standalone system for recognition. Or system interfacing is mandatory??
thanks in advance..
To install OpenCV using the terminal on Ubuntu:
$ su -
# apt-get update
# apt-get install build-essential
# apt-get install libavformat-dev
# apt-get install x264 v4l-utils ffmpeg
# apt-get install libcv2.3 libcvaux2.3 libhighgui2.3 python-opencv opencv-doc libcv-dev libcvaux-dev libhighgui-dev
OpenCV should be installed in /usr/local/ Installation Directory
You may also want to compile and view examples
$ cp -r /usr/share/doc/opencv-doc/examples .
$ cd examples
$ cd c
$ sh build_all.sh
Source: http://namhuy.net/1205/how-to-install-opencv-on-ubuntu.html
hi Lentin,
I got the error below when i run your code. pls help me. The error showed like this:
HIGHGUI ERROR: V4L/V4L2: VIDIOC_CROPCAP
/dev/video0 does not support memory mapping
VIDIOC_QBUF: Inappropriate ioctl for device
By the way, I am using raspi camera and model B raspberry pi with 32GB memory card. Thanks
Hi Richard
Actually this example is working with ordinary webcam. If you are using Rpi camera, you can follow this link for setting opencv
http://thinkrpi.wordpress.com/2013/05/22/opencv-and-camera-board-csi/
Hi Lentin,
Is your tutorial compatible to any versions of OpenCV? Can i get your e-mail address so i can give you my code for you to test in your own raspberry pi and see the actual problem that i am experiencing??Thanks lentin.
Hi Richard
My email id is lentin007@gmail.com. May be you can send me the error you getting, That will be enough for debugging.
Hi Lentin,
I got an error in line 63
cascade=cv.load(options.cascade)
TypeError: OpenCV returned NULL
could you please help me in this?
Hi,
You have to include cascade file during the execution of this code like this
python facedetect.py --cascade=face.xml 0. Where facedetect.py is the python file, face.xml is the cascade file and 0 is the camera index
Hi Lentin,
Are u familiar with auto running of python script during boot process in raspberry pi? Thanks
Hey.. Getting this error for your sample face detect example.
running Rpi Raspbian using SSH ubuntu 12.04:
VIDIOC_QUERYMENU: INVALID ARGUMENT
libv4l2:error setting pixel format:device busy
extension Randr missing on display :0
Hi @Richard
Following link shows how we can run a python script during booting
http://www.raspberrypi-spy.co.uk/2013/07/running-a-python-script-at-boot-using-cron/
Did you find a way to cross-compile OpenCV for RasPi, e.g. from a Ubuntu system?
I'm stuck with cmake, because it checks available ressources on Ubuntu instead of the Pi, even if I set the pathes correctly.
You can follow this link to setup raspicam
http://www.uco.es/investiga/grupos/ava/node/40
How do u access xml file or download xml file?
The file I was going to downloaded face.xml.
Post a Comment