Skip to main content

Experiences with OpenCV

OpenCV has really lots of useful classes and features.
The square detection for my virtual reality class work is being made with it.

Unfortunately, on my tests, I was detecting squares which I didn't want the software to detect. Like on the image below:It would be much better if I could do the image analysis only inside the laptop screen. "Googling" on "OpenCV image crop" I had reached the nashruddin.com (OpenCV Region of Interest - ROI). This blog has a good explanation on how to crop (extract the region of interest) from a image.
With those informations I got the following result for the same frame:

Now I have to check the area of the detected squares. At the web archives of the computer geometry class mailing list, from the Illinois University, google had shown me one algorithm to calculate the area of a closed polygon, as follows:
Let 'vertices' be an array of N pairs (x,y), indexed from 0
Let 'area' = 0.0
for i = 0 to N-1, do
Let j = (i+1) mod N
Let area = area + vertices[i].x * vertices[j].y
Let area = area - vertices[i].y * vertices[j].x
end for

In C, to use with OpenCV:
double polygonArea(CvPoint vertices[]){
double area = 0.0;
int i, j;
for (i=0;i<4;i++){
j = (i+1) % 4;
area = area + vertices[i].x * vertices[j].y;
area = area - vertices[i].y * vertices[j].x;
}
if (area<0) area = -area;
return area;
}

Comments

Popular posts from this blog

More trickery with gnuplot dumb terminal

In my post " Plotting memory usage on console " the chart doesn't pan the data. Now, using a named pipe, the effect got a little bit nicer. First, we have to run the memUsage.sh script to get a file filled with memory usage info: ./memUsage.sh > memUsage.dat & Then we have to create a named pipe: mkfifo pipe Now we have to run another process to tail only the last 64 lines from the memUsage.dat while [ 1 ]; do tail -64 memUsage.dat> pipe; done & And now we just have to plot the data from the pipe: watch -n 1 'gnuplot -e "set terminal dumb;p \"pipe\" with lines"' And that is it!

powerpoint slides to jpeg

Looking for some way to convert power point slides to JPG, I've found this site: http://www.commandlinefu.com/commands/browse It has tons of good linux command line tips. And here is the tip about the pdf to jpg which brought me there: http://www.commandlinefu.com/commands/view/719/convert-pdf-to-jpg And to convert the powerpoint to pdf before, one can issue the unoconv command: unoconv -f pdf slides.ppt

Pettry rendered LaTeX equations using PHP

When I was writing a simple scientific webapp, during my undergrads studies, I needed to generate some equations to be shown by the app. I was already familiar with LaTeX equation formatting syntax, so I decided to use this nice peace of software. So, after "googling" a little, I found the imgtex , written by Koji Nakamaru , which is a fast CGI script, written in perl. What I did, was port it to PHP. To run it, you must have a LaTeX distribution and the dvipng software both installed on the same machine which you will run the PHP script. Here is the PHP code: To use this code, you just have to pass the LaTeX commands through GET to the PHP. For example, adding the following string to your URL: http://localhost/imgtex.php?res=300&cmd=x=\frac{-b\pm\sqrt{-4ac}}{2a} The res variable sets the resolution for the generated image and the cmd specifies the LaTeX command. This way, the above URL will produce the following image: