Alright, this post is long overdue; today, we are using quadtrees to partition images. I wrote this code before writing the post on generic quad trees. However, I haven’t had time to turn it into a blog post until now. Let’s dive right into this post where I use a custom quadtree implementation and OpenCV to partition images.
But first, why might you want to use quadtrees on an image? In the last post on quadtrees, we discussed how quadtrees get used for efficient spatial search. That blog post covered point quadtrees where every element in the quadtree got represented as a single fixed point. With images, each node in the quadtree represents a region of the image. We can generate our quadtree in a similar fashion where instead of dividing based on how many points are in the region, we can divide based on the contrast in the cell. The end goal is to create partitions that minimize the contrast contained within each node/cell. By doing so, we can compress our image while preserving essential details.
Given enough time in a shower, you develop shower thoughts – but mostly you get pruney fingers. Given the current social distancing measures, everyone has taken to the internet to get their work done. I am now working, taking classes, and hanging out with friends on the internet on a daily basis. The omnipresent prevalence of online platforms has gotten me thinking a lot about how we express our identity on the internet. Specifically, profile pictures have seized my attention lately.
On the internet, you can express yourself in ways that are infeasible in real life. The very notion of a profile with a bio and a brave little emblem representing you at your best is a new paradigm. This gives immense control over your first impressions on the internet– something that we desperately wish for in the real world.
John Green’s recent video on Vlogbrothers got me thinking a lot about why I take photos and the impact that social media has had on my journey in photography.