June 23, 2011

Microsoft Image Composite Editor


After recent conversations with a long-time contributor, I set out to investigate "image stitchers." That is computo-jargon for software that will patch together multiple scans or photographs. I stumbled on software by Microsoft that is outright amazing. It is amazing because of how good it is, how quick it is and how pain-free it is.

Best of all, it is completely FREE!

Its official name is Microsoft Image Composite Editor, or "ICE" for short. It is developed by Microsoft Research and is currently in release 1.4.4. It can be used on Microsoft XP, Vista and Windows 7 machines, either 32-bit or 64-bit. There are no fancy graphics to show you. None at all. No flash. No trash. Just kick-butt programming. It is available for download from http://research.microsoft.com/en-us/um/redmond/groups/ivm/ICE/.



Let, me tell you, I have used Photoshop for years. I continue use Photoshop when I need to adjust images at the scale of individual pixels. However, I have already abandoned Photoshop for all other image stitching.

I can hardly believe I'm saying this, but ICE is that good!

ICE is so intuitive and simple that the only thing you really need to do is open the program and get to work. Microsoft has a video tutorial, but I haven't even looked at it yet. In order to start stitching images of certificates, the hardest thing is installation. I'll get to that later. I first want to show you how it works.

I took the largest bond I could find (21" x 23") and unfolded it to its full extent. I then scanned the certificate in nine pieces. Alignment is not crucial. In my example, I scanned five pieces with the bond facing one direction and the other four pieces with the bond facing the opposite direction. Here is a collection of my images. (You can't see it in these tiny images, but the attached coupon sheet was scanned upside down.)


Next, I dropped all nine images into ICE. Simply open your explorer window so you can see all your images. Select all pieces and drag and drop them into the main ICE screen. That is it! You can try to make it more complicated, but if you simply drag and drop all your pieces into ICE at one time, you can just step back and let the program work.

You won't need to wait long!

I scanned this bond at 200 dpi and all nine images totalled 11 megabytes, On my machine, stitching took 33 seconds. Here is what the ICE screen looks like.


During those 33 seconds, the software examined all the pieces, calculated which edges matched which others, re-oriented all the pieces, adjusted coloration along the overlapping edges and created a whole image.

Next, you save out the image into one of several popular formats.



ICE is a panorama stiching program, not an image manipulation program. Consequently, you will need some ofther program to prefectly align and trim your final product. (What do you want for FREE?) Here is the resulting image.


As one would expect, images MUST be overlapped suffiently in order for the program to find pixels to match. Minimum overlap is a function of scanning resolution. With certificates, I found the minimum necessary overlap to be around 150 pixels. In this example scanned at 200 dpi, my minimum overlap needed to be about 0.75". In stitching certificates, I figure the more overlap the better.

So where is the problem? Installation.

By itself, the program is tiny. It's small size is made possible because ICE relies on the latest version of Microsoft's huge ".Net" (pronounced "dot Net") framework. Here's the process.of installation.

Download the appropriate program version (32-bit or 64-bit) from Microsoft Research. I strongly suggest you download the installation program to your hard drive. When ready, double click on the installation program.

Next, the installation package will look at services installed on your machine. It will almost certainly tell you it needs to install the latest versions of ".Net" and "Visual C++." Have patience. While you already have some .Net on your computer, downloading and installing the latest version of .Net will take several minutes, depending on the speed of your internet connection. Visual C++ will take less time, but will still test your patience.

When finished installing .Net and Visual C++, you will think you're ready to go. Nope. Go back to the ICE installation package and double-click it one more time. The real installation of ICE starts and only takes a minute or so. You will know you are nearly finished when you see the screen that says, "Welcome to the Microsoft Image Composite Editor Setup Wizard." A few more screens and you're ready to scan and stitch images..

6 comments:

F. L. said...

Terry,

In the meantime I've downloaded and installed ICE and the mentioned related components.

This works very smoothly and will save us a lot of time !

Thank you for sharing this with us!

F.L.

David Adams said...

Wow - great program! No more stitching images together by hand. I didn't have any certificate images to play with so I used some panorama photos from a trip to Yellowstone last fall. ICE made short work of what would have been hours in Photoshop.

I would suggest running Windows or Microsoft Update after installing C++ and .Net. My machine took two passes and six updates to fully patch these two programs.

Anonymous said...

Dear Terry,

I will definitely try this and thanks so much for the information. I have always been frustrated by PhotoShop and this sounds like a great alternative.

Tim W.

Anonymous said...

Update from Tim W.

I jsut installed everything on two computers, one with Vista and the other with XP. It went just like Terry said.

And then I tried it and it is truly amazing what this program does.

Many, many thanks for this information!!!

Tim W.

Anonymous said...

Love it! great for listing large documents on ebay, thanks Terry, all the best Adam

Anonymous said...

I can't install ICE even though I installed Visual C++ 2010 it still complaints that C++ is not installed. I have tried to reboot a couple of times but with no luck.
Haven't found a comment on this problem on the net so I have not been able to solve this issue.