This repository is a learning journey in Python and the most important libraries used in data analysis, visualization, file handling, and a beginner intro to web scraping.
All content is organized as Jupyter Notebooks (.ipynb), so you can read and run each topic step-by-step.
β 1) Python Basics
intro_to_python.ipynb- Python syntax
- Variables and data types
- Conditions & loops
- Functions
- Basic practice examples
β 2) NumPy
Numpy.ipynb- Arrays and array operations
- Indexing & slicing
- Reshaping
- Math operations
β 3) Pandas
Pandas.ipynb- Series & DataFrames
- Reading and working with data
- Filtering, sorting, grouping
β 4) Matplotlib
Matplotlib.ipynb- Building plots (line, scatter, bar, etc.)
- Titles, labels, grid, figure size
- Plot customization basics
β 5) Visualization using Matplotlib
VisualizationUsingMatplot.ipynb- Practical plotting examples
- More visualization practice using matplotlib
β 6) Visualization using Pandas
visualizationUsingPandas.ipynb- Pandas built-in plotting
- Quick visualization directly from DataFrames
β 7) Intro on Frontend Web Scraping
intro_on_front_end_scrapping.ipynb- Basic understanding of web pages (frontend)
- Intro-level scraping concepts and examples
β 8) Glob Library
glob.ipynb- Finding files with patterns (e.g.,
*.csv,*.txt) - Automating file collection from folders
- Finding files with patterns (e.g.,
π Extra Data File
data.txt(used for practice / examples)
πΌοΈ Graph Files
Graph.pngGraph.svg
In addition to the core Python learning notebooks, this repository includes a practical image processing mini-project focused on analyzing and improving noisy and distorted images.
β 9) Open Images Using Different Libraries
Open images using different libraries.ipynb- Loading images using:
- Pillow (PIL)
- OpenCV
- Matplotlib
- Comparing how each library handles image data
- Loading images using:
β 10) Pillow (PIL)
Pillow.ipynb- Image loading and saving
- Resizing
- Cropping
- Basic manipulation
β 11) SciPy
Scipy.ipynb- Applying filters
- Image smoothing
- Signal/image processing basics
β 12) scikit-image
skimage.ipynb- Edge detection
- Filtering
- Image transformations
β 13) Solving a Noisy Image
solve a noise image.ipynb- Working with a noisy image
- Applying multiple techniques:
- Noise reduction
- Filtering
- Enhancement
- Attempting to recover hidden details
input.jpgβ Original noisy image (house scene)resized_image.jpgβ Processed version- Additional generated outputs from notebooks
This project represents a step-by-step attempt to analyze and improve a heavily noisy image.
The original image contains:
- Heavy noise
- Low visibility
- Distorted details
π Goal: Enhance the image and recover useful information
Different libraries were used:
- Pillow
- OpenCV
- Matplotlib
- skimage
π Insight: Each library handles images differently (RGB vs BGR, scaling, etc.)
Applied techniques:
- Gaussian filter
- Median filter
- Smoothing
π Result: Noise reduced partially, but not fully removed.
Applied:
- Contrast adjustment
- Brightness tuning
- Edge detection
π Result: Some shapes became more visible.
Some processed outputs look like:
- Abstract shapes
- Underwater-like patterns
π Reason: Noise patterns can sometimes appear as structures after filtering.
β Noise can significantly degrade image quality
β Different tools provide different perspectives
β Image recovery has limits
β Combining techniques improves results
- Python π
- NumPy
- Pandas
- Matplotlib
- Pillow (PIL)
- OpenCV
- SciPy
- scikit-image (skimage)
This repository shows a full journey: from Python basics β data analysis β visualization β real-world image processing.
It demonstrates practical skills useful in:
- Data Science
- Computer Vision
- Image Analysis