MATLAB Answers

0

I want to conclude that image is forged or not depending on below code.Please suggest solution.

Asked by Pranav Joshi on 16 Sep 2018 at 9:09
Latest activity Answered by Image Analyst
on 16 Sep 2018 at 15:34
    function ela = generate_ela(filename)
    if nargin > 1 | nargin < 1
        error('usage: generate_ela(filename)');
    end
    img_orig = filename;
    ula = imfinfo(img_orig);
    disp(ula);
    orig = imread(img_orig);
    %msgbox(filename);
    tempfile = 'H:\temp.jpg';
    imwrite(orig,tempfile,'jpeg','Quality',73);
    temp = imread(tempfile);
    %delete(tempfile);
    idiff = uint8(abs(double(orig)-double(temp))*30);   
    me = max(max(max(idiff)));
    idiff = uint8(double(idiff)*255/double(me));
    imwrite(idiff,'ela.jpg');
    figure; 
    imshow(idiff);
    end

  2 Comments

The resulting image mostly detects sharp edges. It would be difficult to relate that to image forgery. For example run your code on car1.jpg

Sign in to comment.

1 Answer

Answer by Image Analyst
on 16 Sep 2018 at 15:34

Looks like you're just seeing the image images are equal or not. So you can bail on that code and just simply use isequal():

if isequal(orig, temp)
    % No forgery
else
    % Forgery - images don't match.
end

  0 Comments

Sign in to comment.