CS194-26 Project 6

final project: Image Quilting & High Dynamic Range

Part A: Image Quilting

Starting from some bricks.

First we tried a random quilting: Random Quilting of bricks

I then implemented the ssd simple choice: Simple Quilting of bricks We can already see that this image is doing a better job of layering bricks together

Finally, we used a more nuanced cut to stick the bricks together. I did mine by color, which gave my outpit some strange residuals. Quilting of bricks with a cut

Directly comparing the brick, there is definetly less clunky work between each cut, that could be made even better with blending.

The improvement of this cut was most impressive with a more organic boundries, like the white whatever it was: Quilting of white with a cut

I then transfered this tecture onto the face of the sketch: Guiding Image

Tada! Guiding Image now with texture

This was an incredibly cool assignment! I learned a lot about how my eyes interpret an enjoy tectures.

Part B: High Dynamic Range:

My algorithm was very similar to the one described in the paper. I made sure to make use of numpy vectorizations where possible to speed up computation.

Below is my mean radiance map: Visualized your radiance map, color median

And the relationships I recoved between exposure and pixel values: Recovered relationship between exposure and pixel values

The radiance map was quite lovely! and showed new dimensions: Visualized your radiance map, clipped

We went further, and started to work with tone mapping.

The global code brough a decent, but still dark image: Tone mapping, global

Taking it farther and implementing the local tone mapping with durand, we are now able to see richer details, for instance we are able to see the detail in the windows! Gamma is 0.7 for the gamma correction. Tone mapping, local

This was a very cool class and I am so glad I took it! I will be thinking about it for the rest of my life. Seriously, so impactful.