QuadTree image processing project for CS 211 at the University of Oregon
A Python implementation of a QuadTree data structure for efficiently representing and reconstructing binary images.
Built as part of the University of Oregon CS 211 course, this project demonstrates recursive data structures, object-oriented programming, and image processing.
- Reads binary image files and converts them into a recursive QuadTree structure
- Efficiently represents images with large uniform regions
- Supports reconstruction of images at various resolution levels
- Provides a string representation of the QuadTree for debugging
- Visualizes original and reconstructed images using Python plotting
- Python 3.10+
- Object-Oriented Programming (OOP)
- Recursion & Data Structures (QuadTree)
- Image Processing & Visualization (Matplotlib, NumPy)
- Git & GitHub
project_6/ ├── Template/ │ ├── QuadTree.py # Main QuadTree class and reconstruction logic │ ├── binary_matrix.py # Helper functions for reading/manipulating matrices │ ├── images/ # Sample binary images │ │ └── fisherman.txt │ └── README.md
-
Clone the repository:
git clone https://github.com/05ashton/quadtree-image-processing.git
-
Navigate to the project folder: cd project_6/Template
-
Run the program: python3 QuadTree.py
-
The program will read the sample image, construct a QuadTree, and display the reconstructed image.
Ashton Curl – University of Oregon, Computer Science
GitHub | [LinkedIn (https://www.linkedin.com/in/ashton-curl-a7b804371/)