sexta-feira, 17 de setembro de 2010

Migrating to a Mac

Have been really busy latelly, righting paper for CHI 2011 and Eurographics 2011, also, I bought a Mac, and am now going through the pain of converting code to another platform.

I usually use openCV 2.1 with OpenFrameworks, this is a pain in MacOS because OpenFrameworks only works in 32bit "i386" format. OpenCv on the other hand is quite easy to install in 64-bit mode but hard on 32.

To do that follow this link:

http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port

forget the MacPorts installation, use the CMake, and try several configurations with ccmake ( the gui, not the normal cmake ), especially remove ffmpeg and 3rdparties and put i386 in the architecture. It will probably give some error in the compile, but try another combination untill you get it!


segunda-feira, 6 de setembro de 2010

Mobile HCI 2010

Tomorrow and in the rest of the week I will be attending (partially as student volunteer) to Mobile HCI 2010 which is held here in Lisbon.

Migrating to a Mac

New computer, new mac, new ways of doing old things, migrating the work should take some days...

segunda-feira, 23 de agosto de 2010

Further updates soon…

I have been neglecting this blog for some time now, lot’s of work as been done, I will try to update more often.

terça-feira, 27 de abril de 2010

Image Mosaicking from Video

Panoramic Panoramic2

I’ve been experimenting with image mosaicking for some time now. I finally achieved some interesting results.

In this experiment I recorded a video of a landscape inside my faculty.

The algorithm to create these panoramic images is something like this:

   1:  draw first frame image
   2:   
   3:  For each image
   4:      find important points on previous image
   5:      find the same points on current image
   6:      remove invalid points ( too close from the border, too different from average)
   7:      find homography rotation matrix( RANSAC method )
   8:      Warp image with rotation matrix
   9:      Blend current image rotated above the other images
  10:  endfor



 


The above example was created with OpenFrameworks and OpenCV using the following functions:


   1:  /* detect good points to track, such as corners*/
   2:  cvGoodFeaturesToTrack( firstImageGray, eig, temp, points[0], &pointsCount,
   3:                                     TRACK_QUALITY, MIN_DISTANCE, 0, 3, 0, 0.04 );
   4:   
   5:  /* detect the same points on second image */
   6:  cvCalcOpticalFlowPyrLK( firstImageGray, secondImageGray, prev_pyramid, pyramid,
   7:                  points[0], points[1], pointsCount, cvSize(WIN_SIZE,WIN_SIZE ),3, status, 0,
   8:                  cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,2000,0.001), flags );
   9:   
  10:  /*Find Homography*/
  11:  CvMat _imagePoints1 = cvMat(1, pointsCount, CV_32FC2, &points[0][0] );
  12:     
  13:  CvMat _imagePoints2 = cvMat(1, pointsCount, CV_32FC2, &points[1][0] );
  14:   
  15:  CvMat*    warp_mat = cvCreateMat(3,3,CV_32FC1);
  16:   
  17:  cvFindHomography( &_imagePoints2, &_imagePoints1,warp_mat, CV_RANSAC, 1 );
  18:   
  19:  /*Warp Image*/
  20:  cvWarpPerspective( secondImage, secondImageRot, warp_mat );
  21:   
  22:  /*blend image: copy only the parts that are not black*/
  23:  cvCvtColor(secondImageRot, secondImageRotGray, CV_BGR2GRAY );
  24:  cvErode(secondImageRotGray,secondImageRotGray);
  25:  cvCopy( secondImageRot, mainImage, secondImageRotGray  );
  26:   

These are separated bits of code. If you want the full code please send me an email.


rui.nobrega [at] di.fct.unl.pt



quarta-feira, 21 de abril de 2010

Conference calendar

Today I updated my personal calendar of conferences that I want to follow and possibly publish.

 

Computer Vision:
CVPR
3DPVT
more:
http://iris.usc.edu/Information/Iris-Conferences.html

Computer Graphics:
SIGGraph
EuroGraphics
more:
http://graphicsconferences.wikidot.com/upcoming-conferences

HCI:
CHI
Interact
UIST
TEI
more:
http://www.interaction-design.org/calendar/
http://www.conference-service.com/conferences/human-computer-interaction.html
http://www.sigchi.org/conferences/calendarofevents.html

Multimedia:
ACM MM
PCM
more:
http://sigmm.utdallas.edu/Conference%20Calendar/

Less important but Important:
SIGIR   (information retrieval)
GIR   (geographic information retrieval)
ICISP   (image and signal processing)
WIAMIS  (Image analysis for multimedia information systems)
ISMAR (augmented reality )
ACE
AVI
MobileHCI

terça-feira, 6 de abril de 2010

Delaunay triangulation and Hough line detection

In March I made some experiences with Delaunay triangulation and Hough Line Detection using OpenCv. Here’s the results:

Capture1 Capture2