WYSIWYG

http://kufli.blogspot.com
http://github.com/karthik20522

Wednesday, October 23, 2013

Smart Thumbnail Cropping

Scaling an image down to a thumbnail size is a common practice when hosting it on websites to reduce page load time and save bandwidth and so on.. But very little has been done in optimization of those thumbnails from a human view-ability point of view. Human view-ability, what? Take a large image where background covers the major part of the image and shrink it down to a thumbnail size (say 192 px) and notice that the details of the image is subdued by the background.

To solve this problem of smart cropping, I am using a variation of descriptors and image processing tricks to extract only the most feature rich part of the image and preserve the aspect ratio while cropping the image. Following are the test results of algorithm used:
Sample 1
Original Thumbnail Feature Extraction Cropped Thumbnail
Sample 2
Original Thumbnail Feature Extraction Cropped Thumbnail
Sample 3
Original Thumbnail Feature Extraction Cropped Thumbnail


So what's in the pipeline:
  • Open source the image processing code
  • Build a http handler (ASP.NET http handler) for dynamic cropping
Thoughts?

Labels: , ,

Friday, October 11, 2013

Event Viewer - Image Search

"Event Viewer" is an yet another attempt to visualize images similar to my {re}Search Timeline project.
Demo at : http://karthik20522.github.io/EventViewer



The whole point of this proof-of-concept project is to visualize the images from the perspective of the events rather than just displaying an grid of images. For example, a search on GettyImages.com website basically displays a list of images in a tabular fashion which provides no sense of association between individual images being displayed. But having them grouped together as part of an event provides a sense of association and correlation between images.

Displaying images is always a tricky business. A dominant color filter technique could probably provide an alternate way of scanning thru images as user might be more interested in images of particular color than the fine details of an image.

From a technology standpoint for building this project was nothing special.
  • ASP.NET MVC 4 - Razor
  • Amazon SQS - for event scrapping from GettyImages
  • Connect API for event and image detail lookup
  • MongoDB
  • Dominant Color Extraction
Source code at: https://github.com/karthik20522/EventViewer

Labels: , , ,

Tuesday, October 1, 2013

Development Stack and stuff

For the past year or two, I had been dabbling with different technologies, frameworks looking for an ideal combination of frontend, backend and development tools. Following are what I tend to use and recommend for both personal and consultancy projects.
I usually customize most of these open-source projects as per my needs

Project Management Database
  • MongoDB
CMS Bulletin Board Configuration Management Logging and Analysis Search Source Control AWS – Amazon Web Services
  • SQS – Simple Queue service
  • SES – Simple Email Service
Hosting Image processing Development Tools/Frameworks/Languages Misc Libraries and websites

Labels: