Git Product home page Git Product logo

image-copy-move-detection's Introduction

Copy-Move Detection on Digital Image using Python

This is an implementation of python script to detect a copy-move manipulation attack on digital image based on Overlapping Blocks.

This script is implemented with a modification of two algoritms publicated in a scientific journals:

  1. Duplication detection algorithm, taken from Exposing Digital Forgeries by Detecting Duplicated Image Region; Fast and smooth attack detection algorithm on digital image using principal component analysys, but sensitive to noise and post region duplication process (explained in the paper above)
  2. Robust detection algorithm, taken from Robust Detection of Region-Duplication Forgery in Digital Image; Slower and having rough result attack detection algorithm but are considered robust towards noise and post region duplication process

By modify those algorithm, this script will have a tolerance regarding variety of the input image (i.e. the result will be both smooth and robust, with a trade-off in run time)

Example of original and forgered image

Original image

Original image

Forgered image

Forgered image

GUI

GUI screenshoot

By default, the script will log entire detection process like so: Log screenshoot

Getting Started

Make sure you already have:

Also the required python libraries:

Starting

Running GUI version

  1. Run main_GUI.py
  2. A new window will apear, click open file and choose your image
  3. Click detect and the detection process will start
  4. After done, the detection result will be written in your CLI, while the result image will be shown in GUI

Running CLI version

By default, you can run it using main_CLI.py. But you can also modify it, or even make your own python script with the format below:

  1. Make sure to import CopyMoveDetection package
  2. Directly call function detect or detect_dir and give the proper parameter

Your scirpt will likely looks like so:

import CopyMoveDetection

# To detect all images on a single folder, use detect_dir function
CopyMoveDetection.detect_dir('your/directory/path/', 'your/result/directory/' [, blockSize])

# To detect single image on a certain path, use detect function
CopyMoveDetection.detect('your/directory/path/', 'your_image.png', 'your/result/directory/' [, blockSize])

If blockSize parameter was not given, the default value would be 32 (integer).

Built With

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

I mainly learnt how to do PCA on image using Python from here written by Jan Erik Solem, but the page has been erased. Shortly after knowing the page was gone, I found that the author are now founder & CEO at Mapillary (Hail, and hat tip).

image-copy-move-detection's People

Contributors

rahmatnazali avatar

Watchers

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