Wednesday, 28 January 2015

...and this is where it ends.


You may have already realised this with it being over a year since I last posted but I am no longer maintaining this blog.

My work has moved on from computer vision related projects and as a result my hobbies have too.

I will leave it up in the hope it is still relevant but it has been so long since I was in the OpenCV game I can't guarantee it.

I wish you all the best with your own endeavours!


Game Player - Step 2 - Calculate the Best Move

This is an unfinished article posted to save it sitting in Draft limbo forever.

Now that we have our game state we can move on to working out what move we should make. We could, if we wanted, just click randomly on the game board and hope for results but that wouldn't really be in keeping with the project's aim, we want the system to actually play the game.

Deciding what the best move is depends on what we feel best means. Imagine a shoot'em up game where we are flying through space blasting aliens. We might decide it is best to go for the power up first and then dispatch the enemies or we might decide it is better to clear the screen of enemies and think of power-ups as a secondary objective. If we really wanted we could create a machine leaning algorithm that decides itself what is best based on experience, but that is for another day! For now we will stick to deciding ourselves what our goal is and that will help us decide what the best way to achieve it is.

Tuesday, 2 April 2013

London Science Museum

I don't really post unless I am demonstrating something or talking about my plans but this post is a little different. (Don't worry it's only a short one.) It is also one of the few times I will post the same post on both my computer related blogs: and

This weekend I went down to London with family and during the trip we visited the Science Museum and I thought it would be nice to share a couple of photos of the exhibits from the computing related departments.

There was some pretty cool stuff there demonstrating both the history of computing and the present day (if there were any future orientated displays I didn't notice them.)

Monday, 26 November 2012

Xuggler RTSP Source Code

I get asked for this quite a lot these days and for a spell I thought I'd deleted it but I found it again so before I lose it again here it is:

Tuesday, 9 October 2012

Game Player - Step 1.5 - Tidying Up The Code

We have done a lot of work over the last few posts and looked at some interesting features of OpenCV.

As it stands there is a lot of this stuff, although handy for debugging, we don't need in our final system. Things like the calls to printf and cout slow the system down unnecessarily so we can remove them. We can also take this opportunity to separate the majority of the code into its own method that completes the task of getting the game state. This will make the flow of the call to C easier to see and allow us to easily replace ways of completing a task (such as finding the colour of a game piece in an image) easier which is handy if we want to try out new algorithms.

Tuesday, 2 October 2012

Game Player - Step 1 - Representing the Game Board

I'd say we are just about finished Step 1 now which looking back at the first post for this project I said should "Grab an image of the game board." Well we've definitely done that and we've also separated the game board out from the rest of the image to make the rest of the processing easier and faster but there is still a few things to take care of before I can officially declare us on Step 2.

Although we can see the game board the computer still can't really see it. It's kind of like in the last post when we had worked out the purple areas but still had to do a little processing for the computer to be able to make sense of it. What we need to do is represent the game board in a way the computer can understand it and that is what this post, and the end of Step 1, is going to be all about.
Our captured game board

Wednesday, 26 September 2012

Game Player - Step 1 - Finding the Game Board

I seem to be spending a great amount of time writing blog posts and not a huge amount of time actually progressing with the program. I think this is because a lot of my time so far has been spent capturing screen shots for the setting up portion of the system so now that that is over with things should proceed a bit more briskly.

So we've got our image data in C and we also have the ability to generate a window, let's combine the two so we can see our image from C and that way we can be certain that we do in fact have our image data and not just a jumble of non-sense.