Giter VIP home page Giter VIP logo

pixelreader's Introduction

The PixelReader Lab Collection

Welcome to the PixelReader Lab Collection! This repository is a data structures project that I've worked on during my freshman year at the Milwaukee School of Engineering!

Lab 1 | Mean Image Median

Worked on creating a program that will read images in the PPM format and produce an image that contains the median and average of the input images. The program is designed to accept a operation of mean or median and then output a filename after inputting two or more image files.

Also implemented the MeanImageMedian class that contains methods to be called by the program. Implemented the following class methods:

  • Image readPPMImage(Path imagePath) — Reads the .ppm image file specified by the image path
  • void writePPMImage(Path imagePath, Image image) — Writes image to a .ppm image file specified by the image path
  • Image calculateMedianImage(Image[] inputImages) — calculates the median color for each pixel in the input images
  • Image calculateMeanImage(Image[] inputImages) — calculates the mean color for each pixel in the input images

Lab 2 | JavaFX Application

Created a graphical user interface (GUI) to load and display images. Made the following updates:

  • Declared readPPMImage() and writePPMImage() as private methods
  • Implemented readImage() and writeImage() methods with the same parameters as readPPMImage() and writePPMImage() that will call readPPMImage() and writePPMImage() when the file extention on the Path ends with .ppm.
  • Ensured calculateMedianImage() and calculateMeanImage() calculate alpha value for each pixel.
  • Update readImage() and writeImage() methods to use JavaFX classes to add support for reading and writing JPG and PNG file formats.

Lab 3 | GUI Fnuctionality Extended

Added the following updates to the graphical user interface:

  • Load multiple input images
  • Button to request generation and display of a "median" image
  • Button to request generation and display of a "mean" image
  • Button to save the generated image

Lab 5 | A Functional Programming Approach

Updated the program to read and write images in a custom binary format. Updated the methods to use a functional programming approach. Added the following extra functionality:

  • Max — produces an output image where the pixel components for the output image are selected as the maximum value from the input images.
  • Min — produces an output image where the pixel components for the output image are selected as the minimum value from the input images.
  • Random — produces an output image where the pixel components for the output image are selected at random from the input images.

pixelreader's People

Contributors

chowdhuryj-github avatar chowdhuryjawadul avatar

Stargazers

Braden Everson avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.