JerryLingjieMei / Image_Seam

Perform image seam algorithm with high time and space efficency

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Image Seam

This is an implementation of the seam carving algorithm. The seam carving algorithm removes the most insignificnat pixles from an image without disturbing the general theme of the picture.

Example

Here we have an image of the Stata Center, MIT:

Stata

We then shrink it to around half in width:

Shrinked_Stata

Notice that the overall structure of the building hasn't been changed.

Efficiency

The implementation provided in the following code has a higher time and space efficiency than any previous implementations. Compared to previous implementaions by other users (See vendor/), this implementaion has achieved at least 6 times speed up and a lot less memory. The strategy used in this implementaion is that data and space are reused in multiple iterations. We also use various parsers accelerate the computation.

Installation

All the codes provided are written in Julia and displayed in jupyter notebook. You may clone this directory and enter the following code in Julia:

using IJulia
notebook()

Then you can find the location of this notebook Image_Seam.ipynb and run it.

##Acknowledgement

This project is inspired by MIT professor Alan Edelman (Github) during the winter break, 2018. Professor Edelman also kindly offered some Julia implementations of the seam carving algorithm.

I should also thank Jessica Tang for helping me with getting used to the Github environment. This is the first project that I have ever made onto Github.

About

Perform image seam algorithm with high time and space efficency

License:MIT License


Languages

Language:Jupyter Notebook 100.0%