Signature Acoustics C-12 review

Recently my iPod Touch earphones gave up and I was in a look out for some good In-Ear Monitors to replace them. I did not want to compromise on the audio quality for the sake of budget and so I had kept it flexible. I had shortlisted Brainwavz M2, a couple of IEMs from SoundMagic and some from Sony and Klipsch. I had almost finalized on Brainwavz M2, when I bumped into this brand IEM from Signature Acoustics; a company that I had never heard before but seemed to be producing quality product. After going through a lot of reviews, checking on user feedback's, I decided to go with them. Now after using the earphones for a whole month, I feel I have made the right choice.


Installing Windows Phone 7.8 on Samsung Focus SGH-I917

My Samsung Focus is an unlocked AT&T model and I had received it with Windows Phone 7.5 OS. Once the WP8 and WP7.8 were released I thought the re-sizable tiles were very needed in my phone. Windows started releasing WP 7.8 update from Jan 30th, 2013. I was pretty happy and excited when I read AT&T and Microsoft  have released the software update. Sadly that wasn't the case and there was no update. I waited for a month or so an finally decided to Flash my phone. In this post I would like to share my experience and hope to make somebody's life easier!

I started of as a noob who had no idea what it means to flash a phone, but I had gone through quite a lot of online materials to know that the worst possible thing that could happen was getting the phone "BRICKED"!! I had also read that the chances of that happening were less if I follow the steps carefully. Who knew I would brick my phone just 5 minutes into flashing! But finally it all turned out well and now I have a Windows Phone 7.8 Custom ROM running in my phone.

Windows Phone 7.8 running on my Samsung Focus

My review of Lumix DMC-TZ10



Since this blog is majorly going to be a photo blog, i thought of starting off with an introduction to my cam. This is not exactly going to be a review of the cam, coz im no expert.. Personally i think the cam is almost perfect for a casual photographer like me.
Panasonic Lumix DMC-TZ10 (also known as the DMC-ZS7 in the USA) is in the market for more than a year. Panasonic persisting with this model in a very volatile camera market tells a lot about the performance of this camera.
Its comes under the category of "Travel zoom" camera's. That's probably cause of its 12x optical zoom. Normally the Point and shoot camera's dont come with this range of optical zoom. I am not going to any more spec details, but i would like to provide the review links which give a good description of this cam.
I bought this cam sometime in October 2011 form flipkart online  store. It cost me 13000 INR (approx 265$ ). Just a few months back it costed close to 400$. The price drop according to me is mainly cause its more than a year old. It still beats some of the cams in the same range from Nikon, Canon, Sony. Anyways that's my opinion. Would like to hear from you if you have a different opinion or query regarding this cam.

You can check some of the photos that I have clicked using this camera at http://adithyabhat.posterous.com/

MeeGo 1.2 released

Intel headed MeeGo mobile operating system recently reached v1.2. MeeGo was initially had started off as a merger between Nokia's Maemo and Intel's Moblin. It was designed to run in Intel and ARM architectures and was targeted to various devices; from mobile phones to in-vehicle entertainment. Its a Linux - based operating system and thus that makes it an open source project.

In February, Nokia choose to make Windows Phone as default operating system for its smart phone and backed off from this project. Not many had hoped MeeGo would survive since Nokia was a important part of the project. But Intel was firm to continue development and had its own plans. 

Overview of EmguCV

One of my projects required me to work with OpenCV libraries in Windows platform. OpenCV as you all know is in C language. I wanted to give a nice interface to my project. Since the codes were in C, i initially thought of implementing it using Visual C++.

3 reasons that made me drop VC++
  • The setup to make OpenCV work with VC++ was not that simple.
  • The quality of interface developed is not very good.
  • C# and some of the other .NET compatible languages are more stable than C. I came to this conclusion because for me the code in C used to crash more than in C#.

I found C# language provided better and simpler interface development tools. Thats when i started looking for .NET wrapper for OpenCV. There are lots of open-source .NET wrappers available. Here's a clear comparison between them. Out of them i found EmguCV is the better one and decided to use it.

Emgu CV is a cross platform .Net wrapper. Allowing OpenCV functions to be called from .NET compatible languages such as C#, VB etc. The wrapper can be compiled in Mono and run on Linux / Mac OS X.
Category: , 1 comments

Use of Hough circles in OpenCV

OpenCV provides and inbuilt function to detect circles in your image. The Hough transform is a technique which can be used to isolate features of a particular shape within an image. The implementation of the circle  transform in OpenCV uses a tricky method called the Hough gradient method ( Link to Google Books ).


cvHoughCircles( ) is the function provided in OpenCV.

CvSeq* cvHoughCircles( 
        CvArr* image,         
        void*  circle_storage, 
        int    method, 
        double dp, 
        double min_dist, 
        double param1 = 100, 
        double param2 = 300, 
        int    min_radius = 0, 
        int    max_radius = 0 
      ); 

Following is a example code snippet.

How soon can Android tablets beat iPad 2?

By the post title you would come to know that I am in support of Android and a believer that Android is going to dominate the tablet and mobile market sometime soon. But how soon is the question?

Image by Rouge Crown

"iPad which currently rules the tablet PC generation, might loose its lead status as early as 2012" says  experts. With companies like Motorola, Samsung, Toshiba, LG approaching Google's Android to power their tablet PC's, Apple is going to have a tough competition.



How to setup OpenCV 2.2 in Codeblocks


The thing with OpenCV libraries is that the method to set it up with codeblocks is different for every newer version! The last tutorial I posted was for Setting up OpenCV 2.0 with codeblocks. In this post I would follow the similar method and try  to be as clear as possible.
I will be using codeblocks 10.05 and OpenCV 2.2 on Windows 7 operating system. MinGW compiler ( The GNU GCC compiler ) in the codeblocks. So first check if your code blocks has this compiler installed. If no, then download one from the link below.



Download the latest version of codeblocks and OpenCV from the below links.
Code Blocks                  OpenCV 2.2

Follow the normal installation for code blocks. I couple of things to note during OpenCV installation is that it should be installed in the C:\ and  the environment variable PATH should be set. You would be prompted during the installation.

Red Eclipse - Free, Open source FPS Game

Is a single player and multi player first-person ego-shooter. It intends to provide Quake 3 Arena style of first person shooter!




Motorola's own Mobile OS??

Recently rumors have started that Motorola is developing its own Mobile Operating System and is on a hiring spree for Mobile app developers. Motorola has had huge success by adopting Android OS for their for their mobile devices. But Motorola CEO Sanjay Jha is of the opinion that its important to own one.

Android's success mainly depends on the kind of ecosystem it provides. Android market and Android developers community have a huge role to play in this. So survival of Motorola's Mobile OS depends mainly on the kind of application support it can provide. Its a tough competition with Android and iOS dominating with huge success.

Samsung had tried to do something like this by introducing Bada OS. It hasn't had that much success but its doing pretty well with the low end touch screen models. Samsung also recently was in a hunt for Symbian mobile app developers planned to port Symbian Apps to Bada.


Motorola reportedly have acquired a Mobile platform company named Azingo. Its to a Linux based mobile operating system and is based on web standards for use on touch screen devices. It uses web runtimes for widgets. 

Open source Registry Cleaner and a Defragmenter

I was just reading through some articles to keep your system to the best of its performance and one point mentioned in all of them was to defragment your system and to clean the registry. So here are some open source softwares I found for this purpose.

Little Registry cleaner it is, the alternative open source windows registry cleaner.  Small in size, neat and easy to run. Basically removes obsolete and unwanted items that build up in the registry over time. Before cleaning the registry it also creates a backup of all your registry information  so that you can roll back if the registry cleaning causes some problem. Usually there wont be a need for it, but its just a precaution for those very few instances when something might go wrong.

Scan in progress

How to convert IplImage to a matrix in OpenCV


Getting a digital image into numbers can be very handy for your image processing. In this post i will brief just that. I am a beginner in OpenCV and i found it very difficult to find material to do this. I was looking for storing a 8-bit image, 3 channel image into a 3D matrix. That's the method i am going to explain in this post.

Before i get on with the implementation, i would like to brief about the matrix structure that we are going to use. Its a 3D matrix; the row and column values represent the respective X and Y co-ordinates of the image. That is each value in the matrix represent a pixel. I am considering a 3 channeled image, so each pixel will have 3 channel values i.e for BGR. For more info on the matrix basic you can refer this link.

Following is the method I used..

First load a 8-Bit image with 3 channels RGB and create define a matrix structure accordingly.

          IplImage *img = cvLoadImage( "cataract.jpg");
    CvMat *mat = cvCreateMat(img->height,img->width,CV_32FC3 );

Next use the cvConvert function. cvConvert is a Macro provided by OpenCV which is the same as cvConvertScale() but is conventionally used when the scale and shift arguments will be let at their default values. 

           cvConvert( img, mat );

That does the work! Now your IplImage is stored into the matrix. You can retrieve the matrix values just by specifying the corresponding X,Y co-ordinate values in the cvGet2D function. I have used a for loop to print the RGB values of a small portion of the image.


        for(int i=0;i<10;i++)
        {
          for(int j=0;j<10;j++)
            {
               CvScalar scal = cvGet2D( mat,j,i);
               printf( "(%.f,%.f,%.f)  ",scal.val[0], scal.val[1], scal.val[2] );
            }
          printf("\n");
        }

cvScalar function is used to define a variable that stores the RBG value retrieved. You can check the OpenCV Reference links for some more tutorial links on OpenCV.

Please leave a comment so that know if this post is helpful or not. Also mention if any changes is required. It could help others :)



OpenCV Tutorial References


OpenCV is a well defined set of library function used in the field of Computer Vision.

It is a computer vision library originally developed by Intel but now supported by Willow Garage.The library is open source, cross platform mainly focusing on real time image processing.

Example applications of the OpenCV library are Human-Computer Interaction (HCI); Object Identification, Segmentation and Recognition; Face Recognition; Gesture Recognition; Motion Tracking, Ego Motion, Motion Understanding; Structure From Motion (SFM); Stereo and Multi-Camera Calibration and Depth Computation; Mobile Robotics. 

OpenCV library provides very well advanced functions for image storage, manipulation and object identification making things simpler. Eg: Just 2 simple functions cvHaarDetectObjects () and cvGetSeqElem () are sufficient to perform face detection!

I have went through many web links for my initial preparations on OpenCV. There are many tutorials out there, but i manage to pick a few of the better ones and thought of posting them here. I would brief on the web links so that you can choose your tutorial accordingly.

Web Links
  1.  Tutorial by Noah Kuntz
    • I found this OpenCV tutorial best for a beginner. He has touched upon all the details along with sample programs. 
    • He has categorized the tutorial into 11 segments and each segment is explained very well.
    • In case you are not through with C programming language there is a tutorial for that also.
    • Click here for the tutorial
     2.   Tutorial on Sourceforge.net
    • This tutorial makes use of Flowdesigner plug in along with OpenCV. You can download the plugin from here as its open source.
    • Tutorial provides a detailed explanation for all the basic library functions.
    • Best part is that the library functions are explained along with Image samples. That can really help in better understanding of the concept. 
    • Click here for the tutorial

Non Adobe pdf readers

Adobe reader has been the favorite pdf reader for sometime now. That's mainly because its free! But nowadays there are many free pdf readers which can actually work out better for you.

I personally did not like Adobe reader because its a heavy application and it comes with a  lot of additional services. Its kind of resource hungry and even adds a browser plug in which was seriously slowing down my browsing speed! Its a bit too much just to read a pdf isn't it?! That's when i decided to look for other pdf readers. There are so many open source free pdf readers which are a lot lighter and better. First i would go through  some of the open source pdf readers and later some of the freewares.



Evince


This is a simple document viewer. It can view multiple document formats like pdf, postscript, djvu, tiff, dvi and many others. 

It provides search, thumbnail view and page indexing features.This is an open source tool.




Pinguy OS


Pinguy OS.. The name sounds weird but the OS seems to gaining popularity!

Pinguy's official web site says "Pinguy OS is an out-of-the-box working operating system for everyone, not just geeks". 

This Linux distro is built upon the Ubuntu's latest version 10.10 and claims to add new features making it user friendly.


I found this OS interesting because of its interesting looks and apps it provides. It should provide a good starting experience for Linux beginners.

How working on an open source project helped me..

It all started a year ago in an internship program in Bangalore. The program intended to introduce us to open source tools and later to make some contribution to the open source world.

Initially i prepared myself with basic web application tools like tomcat server and mysql. Also i got more familiar with Linux operating system which supports the major chunk of open source software's. Mifos was the first open source application i worked on.



Multi core processors - A thought

Clamwin Antivirus - Update

Looking for an open source antivirus..? Clamwin antivirus is the best open source antivirus software available right now.

Clamwin antivirus is a free software available for all versions of Windows operating system. Yes it does support Windows 7.

Good thing about Clamwin when compared to other open source anti virus is that it has been regularly getting updates. This is mainly because of its 600,000 odd users. You can also pitch in with your support for the development of this tool. You can download its source code from their main site.


Download

How to setup CodeBlocks for OpenCV programs



In this tutorial i will be using OpenCV v2.0 and Code Blocks v10.05 with GNU compiler on Windows 7 operating system. Using OpenCV v2.2? Then you can check this post "Setup OpenCV 2.2 in codeblocks"


To work on OpenCV with Code Blocks you just need to add some libraries. Following are some simple steps that I followed.

  1. First of all i assume you have downloaded the OpenCV package and installed in your system. ( Not exactly install, just extract ) If not you can Download it from here. 
  2. Make sure the environment variable PATH is set. This could be done during the installation procedure itself. It will prompt you with this question. If you missed that then you have to manually add it. 
  3. Considering you have the OpenCV installed in your C drive, I continue with the method.
  4. Open Code Blocks.
  5. Goto menu Settings > Compiler and Debugger > Search Directories
  6.  There goto Add and add the directory C:\OpenCV2.0\include\opencv

Softwares, codecs and themes for Ubuntu

This post is for all those Ubuntu beginners ( not necessarily! ) who are currently bored by the default themes and its non ability to play media files. Sadly yes, you cannot play a media file in ubuntu as it is. Even a mp3 file wouldn't play. This might be because of various reasons, but ubuntu doesn't restrict you from installing codecs that can handle these media files.

So the good news is, there are codecs for Ubuntu that can make your system play files that wouldn't run in other operating systems! Some of the weird extensions which wouldn't run in windows with vlc and  K-lite codec ( which i think are the best players for windows ) ran fine in Ubuntu. OK  so to install the codec's just click the below link.




For more themes click on the below link. It will install you all the themes from the community package.


You can also download theme. Usually it will be a .tar.gz file. Just goto 
System --> Preference --> Appearence
There you have an option ti install themes. Just browse for the theme location and install.

There is a very nice tutorial to install Mac theme for Ubuntu by MakeTechEasier. Seems to work pretty well!


I would also suggest you to install Cairo Dock which can totally change your desktop looks. Its one of the most impressive open source software's I have seen (though there are some bugs here and there!!) and is worth a try! Just type the below code in your Konsole.
sudo apt-get install cairo-dock

Or you can visit their site Cairo Dock and install directly.