PixelCraft is a professional image processing application that enables users to apply various filters to digital images and analyze pixel-level similarities. Originally developed as an academic project, it has been refactored for professional use with a modern user interface and extended functionality.
-
Image Filtering: Apply various filters to your images:
- Average (Blur)
- Negative
- Sharpen
- Laplacian (Edge Detection)
- Logarithm
-
Similarity Analysis: Measure and visualize pixel-level similarity between original and processed images with adjustable sensitivity
-
Modern Interface: User-friendly GUI with side-by-side comparison view
-
Professional Tools:
- Batch processing capabilities
- Configurable filter parameters
- Multi-format image support
- Save and export processed images
- Python 3.8 or higher
- pip (Python package installer)
pip install pixelcraft
# Clone the repository
git clone https://github.com/KadirGokdeniz/pixel-craft-image-processor.git
cd pixel-craft-image-processor
# Install dependencies
pip install -r requirements.txt
# Install the package in development mode
pip install -e .
# If installed from PyPI
pixelcraft
# If installed from source
python -m pixelcraft
- Open an image using the "File > Open Image" menu or the toolbar button
- Select a filter from the filter panel on the right
- Adjust sensitivity and other parameters as needed
- Click "Apply Filter" to process the image
- View the original and processed images side by side
- Save the processed image using "File > Save Processed Image"
from pixelcraft.core.filters import ImageFilters
from pixelcraft.utils.image_io import ImageIO
# Load an image
image = ImageIO.read_image("path/to/image.jpg")
# Create a filter instance
filters = ImageFilters()
# Apply a filter
processed = filters.sharpen_filter(image)
# Save the processed image
ImageIO.save_image(processed, "path/to/output.jpg")
# Calculate similarity
from pixelcraft.core.similarity import calculate_similarity
similarity = calculate_similarity(processed, image, sensitivity=16)
print(f"Similarity: {similarity}%")
pixel-craft-image-processor/
├── src/
│ ├── __init__.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── filters.py # Filter algorithms
│ │ ├── similarity.py # Similarity calculations
│ ├── gui/
│ │ ├── __init__.py
│ │ ├── main_window.py # Main GUI components
│ │ ├── filter_panel.py # Filter control panel
│ ├── utils/
│ │ ├── __init__.py
│ │ ├── image_io.py # Image reading/writing
│ │ ├── config.py # Configuration
├── tests/
│ ├── __init__.py
│ ├── test_filters.py
│ ├── test_similarity.py
├── resources/
│ ├── images/ # Sample images
│ ├── icons/ # GUI icons
├── README.md
├── requirements.txt
├── setup.py
├── main.py # Application entry point
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -r requirements-dev.txt
# Run all tests
python -m unittest discover
# Run a specific test module
python -m unittest tests.test_filters
# Run with coverage
coverage run -m unittest discover
coverage report
coverage html # Generate HTML report
# Build the package
python setup.py sdist bdist_wheel
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your code passes all tests and follows the project's coding style.
This project is licensed under the MIT License - see the LICENSE file for details.
- Original project developed as part of an academic assignment
- OpenCV library for image processing algorithms
- PyQt5 for the modern user interface
- All contributors and users of the software
Made with ❤️ by Kadir Gökdeniz