Professor Roshan Thennakoon from the University of Moratuwa created this challenge for his CS4051 Image Processing students. While many excel at theory, he noticed they struggle with identifying subtle bugs in real-world code. This NestJS application implements core image processing algorithms that are divided into three sections.
- Basic Processing Algorithms
- Greyscale
- Negative
- Resize
- Rotate
- Sharpen
- Contrast
- Emboss
- Image Enhancement Algorithms
- Flood-fill
- Histogram equalization
- Feature Detection Algorithms
- Canny Edge Detection
- Harris Corner Detection
This code contains deliberately planted logical errors that produce visual anomalies without causing compilation failures.
Your task is to find and fix all logical bugs in the codebase, document what was wrong with each implementation, and demonstrate how your fixes improve the output images. Success requires not just coding skills, but a deep understanding of image processing fundamentals and the ability to trace algorithm execution when results don't match expectations.
$ npm install# run main service
$ npm start cse40
# run basic-processing service
$ npm run start:basic-processing
# run enhancement service
$ npm run start:enhancement
# run feature-detection service
$ npm run start:feature-detection