Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🖼️ Image Restoration Tool (MATLAB GUI)

An interactive MATLAB GUI application for restoring old or damaged photographs — removing scratches, reducing noise, sharpening detail, and correcting faded colors and contrast, all through a simple, non-expert-friendly interface with real-time feedback.


📖 Overview

Old and damaged photographs commonly suffer from scratches, noise, faded colors, and low contrast. Manual restoration is slow and requires expert skill, and most existing tools are either too limited or too complex for everyday users.

This project addresses that gap with a GUI-based image processing system built in MATLAB that provides:

  • Interactive editing with live preview
  • Real-time status updates and method descriptions
  • Both automatic and manual repair options
  • A control panel simple enough for non-experts to use

✨ Features

Feature Description
Scratch Removal Automatically detects and repairs fine scratches using top-hat filtering and region-fill inpainting
Noise Reduction Reduces sensor/scan noise via an adjustable slider
Sharpening Enhances edge detail and sharpness with a tunable slider
Contrast Adjustment Corrects low-contrast, washed-out images
Color Boost Increases saturation by adjusting the image in HSV color space
Dehazing Improves clarity using adaptive histogram equalization and contrast stretching

Enhancements are applied selectively based on which checkboxes the user ticks, and the enhanced image plus status updates are displayed immediately.


🧩 Methodology

The restoration pipeline follows these stages:

Image Acquisition → Scratch Removal → Denoising → Sharpening
      → Contrast Adjustment → Color Boost → Dehazing
      → Result Display and Output

Scratch Removal (Automatic)

  1. Convert the image to grayscale
  2. Apply top-hat filtering to isolate fine, bright line artifacts (scratches)
  3. Clean and binarize the result to generate a scratch mask
  4. Apply regionfill to each color channel to reconstruct the masked (scratched) areas
  5. Display the repaired image

GUI Controls

  • A dropdown menu lets users choose an enhancement method, with a description shown via a describeMethod callback
  • Sliders for sharpness, contrast, and noise reduction, each with a defined range and default value, allow fine-tuned control
  • Checkboxes toggle optional enhancements (Color Boost, Dehazing) independently

🖥️ User Interface

The GUI includes:

  • Image axes for before/after comparison
  • Sliders for sharpness, contrast, and noise reduction (average-level defaults)
  • Checkboxes for optional enhancements
  • Load, Reset, and Save buttons for I/O
  • Real-time status/description panel

Example outputs:

  • Increased smoothness with autofilled scratches
  • Increased sharpness and contrast
  • Increased color boost and noise reduction

🚀 Getting Started

Prerequisites

  • MATLAB (R2020a or later recommended)
  • Image Processing Toolbox

Running the application

% From the MATLAB command window, in the project directory:
imageRestorationApp

(Replace imageRestorationApp with the actual entry-point script/function filename in this repo.)

Basic usage

  1. Launch the app and load an image (old/damaged photo)
  2. Select an enhancement method from the dropdown, or tick the desired checkboxes (Color Boost, Dehazing)
  3. Adjust the Sharpness, Contrast, and Noise Reduction sliders as needed
  4. View the restored result in real time
  5. Save the output image

🛠️ Tech Stack

  • MATLAB — core application and GUI (uifigure, image axes, sliders, checkboxes, buttons)
  • Image Processing Toolbox — top-hat filtering, regionfill, adaptive histogram equalization, HSV color adjustment

✅ Conclusion

Using a MATLAB GUI, this project delivers a straightforward yet effective image restoration tool. With just a few clicks, users can improve images by adjusting contrast, sharpening, reducing noise, and removing scratches — making complex image processing tasks accessible to everyone through a user-friendly interface.


📚 References

  1. P. K. Das and A. M. Sinha, "Image Restoration Techniques: A Survey," IJSRP, vol. 11, no. 1, pp. 1–7, 2021.
  2. P. Kumar and A. Kumar, "A Brief Review on Image Restoration Techniques," IJERT, vol. 9, no. 7, pp. 498–501, 2020.
  3. M. A. Raj and V. M. Babu, "Image Restoration using Deep Learning Techniques," IJEAT, vol. 11, no. 3, pp. 63–67, 2022.

About

An interactive MATLAB GUI application for restoring old or damaged photographs — removing scratches, reducing noise, sharpening detail, and correcting faded colors and contrast, all through a simple, non-expert-friendly interface with real-time feedback.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages