A simple digital forensics tool.
Project description
EyesOpen: Image Forensic Analysis Tool
Introduction
EyesOpen is a comprehensive image forensic analysis tool designed for professionals and enthusiasts alike. In today's world where digital tampering is becoming increasingly sophisticated, EyesOpen equips you with the tools needed to uncover traces of manipulation or to identify unique characteristics within digital images.
Installation
Pip
-
Install using pip
pip install eyesopen
From Source
-
Clone the Repository
git clone https://github.com/Sublations/EyesOpen.git
-
Navigate to the Directory
cd EyesOpen
-
Create and Activate a Virtual Environment (Python 3.11 required)
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
Basic Usage
The simplest way to use EyesOpen is to run the following command:
eyesopen path/to/image # Or python3 eyesopen/main.py path/to/image when building from src
This will generate a comprehensive image report saved as analysis_report.png
in the current directory.
Advanced Usage
EyesOpen offers a multitude of parameters for fine-grained control over each analysis method. Understanding these parameters can help you tailor the tool to your specific needs.
Examples
-
Advanced Edge Detection with Custom Canny Thresholds
eyesopen path/to/image --lct 0.5 --uct 1.5
Adjusting the Canny thresholds can help you detect faint or sharp edges more effectively.
-
Custom Gabor Filter Parameters
eyesopen path/to/image --gf 0.8 --gt 0.5 --gb 1.2
Customize the Gabor filter to focus on specific frequencies and orientations in the image, aiding in texture discrimination.
-
Different Wavelet for Frequency Analysis
eyesopen path/to/image --wt db2
Changing the wavelet type can highlight different frequency components, possibly revealing hidden tampering.
Parameters
-
--lct
and--uct
: These adjust the lower and upper Canny thresholds for Edge Detection. Change these if the default settings either miss edges or detect too many irrelevant edges. -
--gf
,--gt
, and--gb
: These control the frequency, orientation, and bandwidth of the Gabor filter. Adjust these to focus on particular aspects of texture or frequency in the image. -
--wt
: Controls the type of wavelet used in Frequency Analysis. Different wavelets can highlight different aspects of the image's frequency components. -
--ela-ql
and--ela-af
: Control the quality levels and amplification factor for Error Level Analysis (ELA). Different amplification factors and quality levels can make subtle tampering more obvious.
In-Depth Analysis Methods
-
Error Level Analysis (ELA): ELA highlights differences in error levels across the image, which can indicate tampering. Areas of the image that have been altered may show different error levels than the rest of the image.
-
Gabor Filtering: This method is excellent for revealing hidden textures or patterns in an image. Adjusting parameters like frequency, theta, and bandwidth can help identify specific types of texture manipulation.
-
Frequency Analysis: This method highlights the frequency components of an image. A sudden noise or inconsistency in these components could indicate that the image has been tampered with.
-
Texture Analysis: Utilizes Local Binary Pattern (LBP) algorithms to identify inconsistencies in texture. These could occur due to cloning or airbrushing techniques.
-
Advanced Edge Detection: This focuses on identifying object boundaries. Tampering techniques like object insertion or removal often leave irregular or broken edges, which can be highlighted through this method.
License
EyesOpen is released under the GNU GENERAL PUBLIC LICENSE V3
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file eyesopen-0.1.5.tar.gz
.
File metadata
- Download URL: eyesopen-0.1.5.tar.gz
- Upload date:
- Size: 46.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e5fb3957d9bb2c80d77dc7f38b76406314f66d6f3c93542dcf163cb80f53233 |
|
MD5 | 7b8d7d905cbd47af0d46d3b2871525d1 |
|
BLAKE2b-256 | 223ca27558322c1fe0ddf7b3cc8a10bf883ed0601acef8b7739f421cf08afdbd |
File details
Details for the file eyesopen-0.1.5-py3-none-any.whl
.
File metadata
- Download URL: eyesopen-0.1.5-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce0bad69f0f7b5c4a0ee121344ad11978cfd4c8a2c51e7c9d40d534c0672eb35 |
|
MD5 | 24dede704beb7842cf70081d100da281 |
|
BLAKE2b-256 | 8db1ffc486c534c3ad11e7cf9b57f67a13779a28bc4c60af1cb6f9b221f9b1aa |