Giter Site home page Giter Site logo

rahmatnazali / pimage Goto Github PK

View Code? Open in Web Editor NEW
160.0 160.0 56.0 575.4 MB

Python package for detecting copy-move attack on a digital image

Home Page: https://pypi.org/project/pimage/

License: Apache License 2.0

Python 100.00%
attack copy-move copy-paste forensics fraud image image-processing python

pimage's Introduction

https://static.zerochan.net/Dragon.Quest.V.full.1507506.jpg

pimage's People

Contributors

dependabot[bot] avatar likuilin avatar rahmatnazali avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pimage's Issues

error

hi im getting error all

Not able to fetch and get the output

ERROR SHOWN-

C:\Users\alman\anaconda3\python.exe E:/image-copy-move-detection-python2-master/main_GUI.py
E:/image-copy-move-detection-python2-master/screenshot/horse_blur.png
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\alman\anaconda3\lib\tkinter_init_.py", line 1892, in call
return self.func(*args)
File "E:\image-copy-move-detection-python2-master\main_GUI.py", line 91, in onFilePicker
imageRight = Image.open("../testcase_result/")
File "C:\Users\alman\anaconda3\lib\site-packages\PIL\Image.py", line 2975, in open
fp = builtins.open(filename, "rb")
PermissionError: [Errno 13] Permission denied: '../testcase_result/'
horse_blur.png
Step 1 of 4: Object and variable initialization
Exception in Tkinter callback
<ImageObject.ImageObject object at 0x000001A22EC54B80>
Traceback (most recent call last):
File "C:\Users\alman\anaconda3\lib\tkinter_init_.py", line 1892, in call
return self.func(*args)
File "E:\image-copy-move-detection-python2-master\main_GUI.py", line 109, in onDetect
imageResultPath = CopyMoveDetection.detect(self.imagePath, self.imageName, '../testcase_result/', blockSize=32)
File "E:\image-copy-move-detection-python2-master\CopyMoveDetection.py", line 56, in detect
singleImage = ImageObject.ImageObject(sourceDirectory, fileName, blockSize, outputDirectory)
File "E:\image-copy-move-detection-python2-master\ImageObject.py", line 71, in init
print (self).Nb, self.isThisRGBImage
AttributeError: 'NoneType' object has no attribute 'Nb'

Accuracy

Do you have any code to find the accuracy ?. It would be helpful if you provide any code.

Example Code Not Working

The current example code in the readme (directories, filename, ...) does not match detect.py input. Would be nice to have a command line "python3 detect image.jpg" example.

Should have unit testing

The project should have unit testing. Currently the testing is only held by manually running the example script.

Error on use

Installing and using pimage like so:

from pimage import copy_move

copy_move.detect("dataset_example_blur.png", "output", verbose=True)

Will result in error:

image

help about output

hi,I used your example diagram for testing, but I copied and pasted it myself, again with blank results.
The way I do it is just regular copy and paste.
I wonder why?
Thank you very much!

quadratic speed up

So the loop in ImageObject.analyze

        for i in tqdm(range(featureContainerLength)):
            for j in range(i + 1, featureContainerLength):

can be changed to

        for i in tqdm(range(featureContainerLength-1)):
            j = i+1

giving a speedup of a factor >1000 on the analyze step (depending on image dimensions).
That step on the test image goes from 384 to 0.11 seconds on my PC.

This can be done because the feature list is already sorted, so you don't have to compare each block to every other block. You only need to compare it to the next block.

The original paper clearly states this:

identical blocks correspond to adjacent pairs in the sorted list

"resource/empty.png" is missing

When I run main_GUI.py I get an error:

Traceback (most recent call last):
  File "main_GUI.py", line 123, in <module>
    app = aFrame(root)
  File "main_GUI.py", line 23, in __init__
    self.initUI()
  File "main_GUI.py", line 44, in initUI
    imageLeft = Image.open("resource/empty.png")
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 2634, in open
    fp = builtins.open(filename, "rb")
IOError: [Errno 2] **No such file or directory: 'resource/empty.png'**

Error when computing c4_part1

Hi - I am trying to run the code over the horse_fake.png example, but I have reduced the blocksize to decrease the runtime, with the following problem on macOS:

Traceback (most recent call last):
File "main.py", line 10, in
forgery_detect.detect('../test_images/', image_file, '../output_images/', blockSize=8) # was 32
File "/Users/j/src/Image-Forgery-Detection/forgery_detect/forgery_detect.py", line 22, in detect
imageResultPath = singleImage.run()
File "/Users/j/src/Image-Forgery-Detection/forgery_detect/image_object.py", line 82, in run
self.compute()
File "/Users/j/src/Image-Forgery-Detection/forgery_detect/image_object.py", line 127, in compute
self.featuresContainer.addBlock(imageBlock.computeBlock())
File "/Users/j/src/Image-Forgery-Detection/forgery_detect/Blocks.py", line 38, in computeBlock
blockDataList.append(self.computeCharaFeatures(4))
File "/Users/j/src/Image-Forgery-Detection/forgery_detect/Blocks.py", line 118, in computeCharaFeatures
c4_part1 += self.imageGrayscalePixels[xCoordinate, yCoordinate]
TypeError: unsupported operand type(s) for +=: 'int' and 'tuple'

Any ideas?

Thanks!

Implementation of GUI for Py 3.x

Im trying to implement the GUI for the new repo with the help of your old repo, but im getting an error. Below is the error what im getting now. can you please help me fix it. And ill attach the GUI code and the detect.py code to this.

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\shuch\AppData\Local\Programs\Python\Python38\lib\tkinter_init_.py", line 1883, in call
return self.func(*args)
File "D:/image-copy-move-detection-master/copy_move_detection/Main1.py", line 96, in onDetect
imageResultPath = detect.detect(self.imagePath, self.imageName, '../output/', block_size=32)
TypeError: detect() got multiple values for argument 'block_size'

copy_move_detection.zip

Confusion Matrix

This would be the last help i would ask from you. Thank you so much for all the help you have done. I tried different codes for confusion matrix and none of them worked for me. I just need the code for confusion matrix .So could you please help me with this. And i would be really greatfull for all your help.

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.