Giter VIP home page Giter VIP logo

digital-image-processing-gonzalez's Introduction

Digital-Image-Processing-Gonzalez

Codes for most examples in the famous textbook Digital Image Processing (Gonzalez) 3rd Edition [Amazon]. I hope this can help you understand the mentioned concepts better.

Usage

  • For Julia: running the ipynb file in jupyter notebook and see what happens. The ipynb files contain results for convenience and jl files are used to track differences. Check IJulia for installation and usage.
  • For Python: same as Julia. py files are used to track differences.
  • For MATLAB: since MATLAB live script runs very slow at present, m file is provided without results.

Explanations and additional codes are added to these examples for better understanding.

TOC for 3rd Edition

  • Chapter 2 : Digital Image Fundamentals
    • EXAMPLE 2.2: Illustration of the effects of reducing image spatial resolution. Including Figure 2.20 Julia
    • EXAMPLE 2.3: Typical effects of varing the number of intensity levels in a digital image. Inlcuding Figure 2.21 Julia
    • EXAMPLE 2.4: Comparison of interpolation approaches for image shrinking and zooming. Including Figure 2.24 Julia (Uncomplete: bicubic)
    • EXAMPLE 2.5: Addition (averaging) of noisy images for noise reduction. Including Figure 2.26 Julia
    • EXAMPLE 2.6: Image subtraction for enhancing differences. Including Figure 2.27, 2.28 Julia (Uncomplete: Figure 2.27)
    • EXAMPLE 2.7: Using image multiplication and division for shading correction. Including Figure 2.29, 2.30 Julia
    • EXAMPLE 2.8: Set operations involving image intensities. Including Figure 2.32 Julia
    • EXAMPLE 2.9: Image rotation and intensity interpolation. Including Figure 2.36 Julia
    • EXAMPLE 2.10: Image registration. Including Figure 2.37
    • EXAMPLE 2.11: Image processing in the transform domain. Including Figure 2.40
    • EXAMPLE 2.12: Comparison of standard deviation values as measures of image intensity contrast. Including Figure 2.41
  • Chapter 3 : Intensity Transformations and Spatial Filtering
    • EXAMPLE 3.1: Contrast enhancement using power-law transformations. Including Figure 3.8 Python
    • EXAMPLE 3.2: Another illustration of power-law transformations. Including Figure 3.9 Python
    • EXAMPLE 3.3: Intensity-level slicing. Including Figure 3.12 Python
    • EXAMPLE 3.6: Histogram equalization. Including Figure 3.20
    • EXAMPLE 3.9: Comparison between histogram equalization and histogram matching. Including Figure 3.23, 3.24, and 3.25
    • EXAMPLE 3.10: Local histogram equalization. Including Figure 3.26
    • EXAMPLE 3.12: Local enhancement using histogram statistics. Including Figure 3.27
    • EXAMPLE 3.13: Image smoothing with masks of various sizes. Including Figure 3.33
    • EXAMPLE 3.14: Use of median filtering for noise reduction. Including Figure 3.35
    • EXAMPLE 3.15: Image sharpening using the Laplacian. Including Figure 3.38
    • EXAMPLE 3.16: Image sharpening using unsharp masking. Including Figure 3.40
    • EXAMPLE 3.17: Use of the gradient for edge enhancement. Including Figure 3.42
    • EXAMPLE 3.19: Illustration of image enhancement using fuzzy, rulebased contrast modification. Including Figure 3.54 and 3.55
    • EXAMPLE 3.20: Illustration of boundary enhancement using fuzzy, rulebased spatial filtering. Including Figure 3.59
  • Chapter 4 : Filtering in the Frequency Domain
  • Chapter 5 : Image Restoration and Reconstruction
  • Chapter 6 : Color Image Processing
  • Chapter 7 : Wavelets and Multiresolution Processing
  • Chapter 8 : Image Compression
  • Chapter 9 : Morphological Image Processing
  • Chapter 10 : Image Segmentation
  • Chapter 11 : Representation and Description
  • Chapter 12 : Object Recognition

Contribution:

Issue

For example you don't understand and want codes immediately, you could create an issue

Pull request

  • Open one pull request(PR) for each single example, so that I can review it easier
  • Each PR should contain your codes and data(if not exists), and modify corresponding part of this README.md
  • For codes written in ipynb
    • you should contain the corresponding py or jl files for easy diff tracking. Make sure py and ipynb contains the same codes.
    • make sure to restart kernel and run all cells to keep your results for connivence
    • make sure to delete unnecessary empty cells, e.g., the last one

Links:

  • You may also want to try Dive into Julia, which is a "Learn Julia the Hard Way" tutorial.

digital-image-processing-gonzalez's People

Contributors

houruizhi avatar johnnychen94 avatar ruyummy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  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.