I want to conclude that image is forged or not depending on below code.Please suggest solution.
조회 수: 5 (최근 30일)
이전 댓글 표시
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
댓글 수: 3
Walter Roberson
2018년 9월 16일
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
답변 (1개)
Image Analyst
2018년 9월 16일
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
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!