Mike Swanson

October, 2007

  • Mike Swanson's Blog

    SEAMonster: A .NET-Based Seam Carving Implementation

    • 22 Comments

    To avoid any potential confusion, this is a personal, spare-time project that has nothing to do with the cool Seadragon technology.

    Before you read my post, you should watch the short 4 1/2 minute video that demonstrates an image resizing technique called seam carving. The technique was presented at this year's SIGGRAPH 2007 conference by Shai Avidan and Ariel Shamir. If you want to know all of the details, check out the paper they presented called Seam Carving for Content-Aware Image Resizing (20MB PDF). Shai and Ariel outline a relatively simple algorithm for finding a "seam" of pixels that is least likely to be missed when it's removed from an image. The algorithm looks for connected pixels of low energy, where energy refers to a measure of visual detail. By iterating the algorithm, an image can be resized while maintaining its general structure. Unlike a typical stretch operation in your favorite graphics application, the seam carving technique resists squashing or distorting the image.

    When I first saw their video, I thought it was magic. Not only do they demonstrate resizing, but they also show how their algorithm can easily remove specific content (like a person or object) from a scene. It's easy to imagine how images can be resized using this technique for display on smaller devices like a cell phone. In their paper, Shai and Ariel briefly describe a method that would allow an image format with extended seam carving data to easily resize on-the-fly. Very cool.

    Inspired by their work, I thought I'd play around with the algorithm and methods in my spare time. So, over the course of the past week or so, I've put together a .NET-based implementation of seam carving that I affectionately call SEAMonster. The code has evolved from a very simple prototype to something a bit more robust. As these things go, the architecture is a bit shaky at the moment, but it does work. The early version of the application can only open JPG files, doesn't support image expansion, and the user interface is pretty minimal. However, it's far enough along that someone might find it interesting.

    If you'd like to take it for a spin, download SEAMonster_0.1.zip (63KB). The application requires the Microsoft .NET Framework Version 2.0 if you don't already have it installed on your machine. In lieu of documentation, I encourage you to watch the 8 minute video introduction I recorded to quickly get up-to-speed (note that you may need to download the TechSmith Screen Capture Codec to properly view this video).

    When I have the code under control, I plan to upload the project to CodePlex so that the developer community can contribute. All of the image manipulation functionality is encapsulated in a DLL, so it should be usable in most scenarios. There is a lot of opportunity for improvement and optimization in these algorithms, and I expect a lot of innovation to happen over the next few months. It should be fun to watch.

    Here are some other seam carving resources that you may find interesting:

    If you have any comments about this early version of SEAMonster, or if you have suggestions for the version I plan to release on CodePlex, please leave feedback (or contact me directly).

  • Mike Swanson's Blog

    MOO, Blurb, Wallhogs, and Zenfolio

    • 6 Comments

    Can't say I ever expected to type that post title! I take a lot of digital photos, and I thought I'd share some creative resources I've discovered on the 'net either by recommendation or my own research. They offer unique services, and the quality of these four products is very high.

    Let's start with MOO. My colleague in crime, good friend, and non-blogger, Thomas Lewis, showed me his set of MOO MiniCards a couple of months back, and I instantly fell in love with them. MOO MiniCards are half the size of a normal business card, are printed on thick coated paper, and can be completely customized. Their online tool makes it very easy to upload and crop your digital photos (up to 100 of them!). You can add six lines of text on the flip side, and no matter where you ship them in the world, it only costs $4.99. So, for around $25 total, you can have 100 custom cards delivered to your doorstep in about a week or two (by Royal Mail...how cool is that?). They're fun to give out and a great way to direct friends and family to your e-mail addresses, online blog site, photo site...whatever. Click the photo to see 12 of the 60+ designs my wife and I created. I have to give props to MOO for their spirited attitude. It shows on their web site and in the e-mails you'll begin to receive from Little MOO, their friendly Print Robot. Don't ask...just order some.

    If you've ever wanted to create your own coffee table book but didn't know where to go or how to get started, you need to check out Blurb. David Shadle, a colleague with an office across the hall, pointed me to Blurb after he had seen samples of their books at a design show. Not only is the process simple, but you can order as few as a single copy for very reasonable prices. You start by downloading their free BookSmart software, choosing a book size and format (images, text and images, text only, etc.), then add your photos to the pre-built page templates. The templates have been assembled by professional designers, so it's difficult to end up with a book that doesn't look top-notch. When you're done, the book is uploaded to Blurb, and a week or so later, it arrives in the mail. My first book (pictured) is a 26-page large format landscape (13x11 inches) hardcover. The quality is impressive, and because they have a printing facility in the Seattle area, they arrive quickly. I've since reordered five additional copies for gifts and created a second, smaller book. Impressive stuff.

    But what if you want your digital photo to be six feet wide and something you can stick to your wall? Enter Wallhogs. I found Wallhogs while looking for a method to create a "photo backdrop" for an Italian-themed office party we threw this past Friday. There seem to be many sites that will create large posters, but Wallhogs is unique in that they create self-adhesive, vinyl prints that won't damage your walls and can be easily removed and re-stuck somewhere else. You can get them in many sizes, but since I wanted people to be able to sit in front of it for photos (Thomas Lewis in the example photo), I ordered the 6 foot by 4 foot version. I was worried that the 8-megapixel images from my Canon Rebel XT (350D) wouldn't be big enough for a print this size, but the quality was fantastic. Almost everyone at the party wanted to know where to get them. I'll leave it up on the wall for awhile if you happen to wander near my office in building 18. I'd like to thank Greg at Wallhogs for making it possible for us to receive the print in a very short timeframe. Oh...I had a second one made of the Leaning Tower of Pisa, and it turned out great too.

    Last, but certainly not least, I've always wanted a way to archive and display my massive photo collection online. I needed something that I could point to with a custom domain, had an easy-to-use interface, offered unlimited storage, didn't display advertisements, and provided a straightforward and professional method of browsing all my files. I spent a lot of time reading reviews and crawling the photography forums at Digital Photography Review (an excellent site, by the way). For the prosumer and professional crowd, three sites were favorably mentioned many times: Phanfare, SmugMug, and Zenfolio. After reviewing these sites, I chose Zenfolio, because the quality of the photo browsing experience is polished, the photo management interface is very snappy and well designed, their documentation is top-notch, the site is a pleasure to use, and they have a web API that lets you easily interact with their system. And, like many other sites, you can password-protect select galleries and allow visitors to order their own prints. It's rare that I'm completely satisfied with a web-based application of any complexity, but Zenfolio continues to surprise me. I'll add that I have some friends with Phanfare and SmugMug sites who are also very happy with their services.

    So there you have it...four (hopefully) unique and inspirational ideas for your digital photos. All of these are fun to work with and would make excellent gifts. Do you know about a cool site that I missed? If so, please add it to the feedback or send me an e-mail.

Page 1 of 1 (2 items)