Categories
graphics gui programming vision work

Combining Java's BufferedImage and OpenCV's IplImage

java_opencv_imgHi
I recently did a small project combining a Java web service with a OpenCV processing. I tried to transfer the picture from Java environment (as BufferedImage) to OpenCV (IplImage) as seamlessly as possible. This proved a but tricky, especially the Java part where you need to create your own buffer for the image, but it worked out nicely.
Let me show you how I did it

Categories
graphics programming video work

iPhone camera frame grabbing and a real-time MeanShift tracker

i_can_has_meanshiftHi
Just wanted to report on a breakthrough in my iPhone-CV digging. I found a true realtime frame grabber for the iPhone preview frame (15fps of ~400×300 video), and successfully integrated this video feed with a pure C++ implementation of the MeanShift tracking algorithm. The whole setup runs at realtime, under a few constraints of course, and gives nice results.
Update: Apple officially supports camera video pixel buffers in iOS 4.x using AVFoundation, here’s sample code from Apple developer.
So lets dig in…

Categories
3d graphics programming school

Tracing wild rays

Hi
I havn’t published in a while. I was back up with work on a project for uni., work and my writing…
But the good thing with keeping busy, is that after a while – you have something to show for! So here’s what i’ve been working on for Comp. Graphics course – A Ray Tracer.

Categories
comics

My cellphone's evil plan

secrect_lives_of_cellphonesSometimes I think my cellphone holds a grudge for me, and he’s secretly trying to ruin my day. Whenever I forget to lock the keypad and put it back in my pocket it comes to life.
I catch it going online and surfing for hours, my mom calls me and tells me I sent her blank SMSs all night. Last time I caught the bugger enrolling to a dating service! – I shit you not, this phone wants bad things for me.
R.

Categories
.net Networking programming Recommended Software Solutions tips Windows scripting

The proper way to run a remote process

This is the story of my journey to find a way to run a process (or a program on a remote pc)
This wasn’t an easy thing at all…
Overall, I thought, this should be an easy thing to do.
I found this C# code on a Microsoft forums

object[] theProcessToRun = { "notepad.exe" };
ConnectionOptions theConnection = new ConnectionOptions();
theConnection.Username = "username";
theConnection.Password = "password";
ManagementScope theScope = new ManagementScope("<\\\\" + IP + "\\root\\cimv2", theConnection);
ManagementClass theClass = new ManagementClass(theScope, new ManagementPath("Win32_Process"), new ObjectGetOptions());
theClass.InvokeMethod("Create", theProcessToRun);

I tried this code, not after forgetting to disable the firewall on the remote computer – a big downside but I guess if I had gone with it I’d hunt a way to stable port to unblock in the firewall.
 
Then I found the big downside (which can be an upside to some of you):
The remote process this way will never have a GUI window opened (In this example, a process of notepad will be opened in the background).
This can be a big advantage to system admins which want to run scripts.
 
Ok, back to the quest.

Categories
graphics Recommended tips Website work

Beef up your presentations with word clouds

friendshipThere’s nothing like a good visualization to deliver your ideas over a presentation. Concise points and breakdowns can only go a certain distance before they become weary, and finally confuse your audience. It’s better to keep them on their toes by spicing up the boring slides every 5 or so page turns.
I found that Word Clouds, a kind-of new visualization concept, have a good trait of focusing the attention over a single word’s associative space. You bold your main word, center it, and scatter the associative words around it. This creates a powerful effect.
I found a nice tool to create these word coulds on-the-fly: Wordle.
The way I did was, get the Wikipedia value of my word, for example “Friendship“, and go to the Edit tab. Copy all the textarea’s contents, and paste it into Wordle’s word cloud creator. Press “GO” and the results are immediate.
You can eliminate the “outliers” – those unrelated words that appear too many times, and layout the cloud as you like to fit your slide.
The down-side with Wordle is that it has no export ability, so I had to take an Alt-PrintScreen screenshot to get my cloud as a picture.
Enjoy!
Roy.

Categories
Recommended Website

Music's ruling my world [on Kutiman's Thru-You]

Hi
If you haven’t yet tapped into the (well by now it’s a) phenomena that is Kutiman’s “Thru You” project – don’t walk, run and do it now.
I’m a long time fan of Kutiman’s work, his last CD (“Kutiman”) is playing repeatedly in my company-leased car. And I have been watching closely to hear some of his new beats.
I must say he totally surprised me. The music is awesome, but this was to be expected. He surprised me beacuse he single handedly create a new concept – Social Music. What he did was a natural development of music in the Web 2.0 spirit – use the enourmous amount of “data” laying around freely on the internet, and bring it together to create something new.
Anyway, enjoy his work, it’s truly aspiring.
R.

Categories
gui linux programming qt Uncategorized video

Qt & OpenCV combined for face detecting QWidgets

As my search for the best platform to roll-out my new face detection concept continues, I decided to give ol’ Qt framework a go.
I like Qt. It’s cross-platform, a clear a nice API, straightforward, and remindes me somewhat of Apple’s Cocoa.
My intention is to get some serious face detection going on mobile devices. So that means either the iPhone, which so far did a crummy job performance-wise, or some other mobile device, preferably linux-based.
This led me to the decision to go with Qt. I believe you can get it to work on any linux-ish platform (limo, moblin, android), and since Nokia baught Trolltech – it’s gonna work on Nokia phones soon, awesome!
Lets get to the details, shall we?

Categories
gps Recommended Software

Enhance your GPS device

Many GPS devices are coming with built-in (or bundled) navigation software and does not allow you to install newer version or use the device in any other way that the original menu allows.
This, of course doesn’t mean that the device is not CAPABLE of running most of the applications. After all – it is running on Windows CE platform.
Googling a bit lead me to a project called MioPocket. This is a software that patches your mobile windows and installs lots of (freeware) utilities (media player for example) that can really upgrade your usage of the device.
One of the best features (and of course the main reason why those people wrote this utility) is that it enables you to run any navigation software.
stopword320x240mp

Categories
bittorrent programming Solutions

Cheat your (torrent) way to the top

utorrent_logoPrivate BitTorrent trackers require that you keep a certain upload/download ratio. This basically means that if you download, and don’t leave your client running for seeding for as much as you downloaded, you will probobly get kicked out of the site sooner or later.
RatioMaster is an open source project that emulates your favourite client and sends the tracker with false info, saying that you are uploading. What a great solution for people with low upload rate.
A guy that calls himself NRPG, created his own version of RatioMaster, which added a lot of features to the original RatioMaster.  His version looks out for your opened client, and takes all the random-generated values from it, that way making the tracker very hard to spot the cheat.
So far so good, as this was only the exposition to the situation.