Hello, I will like to use apply the code found https://www.mathworks.com/matlabcentral/answers/276217-write-an-image-name-to-particular-folder-using-imwrite to perform image difference between 2 Grayscale images. First to read images from it's folders, resize them and lastly write results with it's real name to a specific folder. I tried the code below but when i imshow difference_image, the results are different (Dark) from the usual results (Gray) I get using codes from https://www.mathworks.com/matlabcentral/answers/259045-difference-between-2-image-and-exctrat-difference. Please find attached. Can anyone explain the reasons ?
%% Showing difference of image
% Have user browse for a file, from a specified "starting folder."
% For convenience in browsing, set a starting folder from which to browse.
startingFolder = pwd; % or 'C:\Program Files\MATLAB' or wherever...
if ~exist(startingFolder, 'dir') % If that folder doesn't exist, just start in the current folder.
startingFolder = pwd;end% Get the name of the file that the user wants to use.
defaultFileName1 = fullfile(startingFolder, '*.*');[baseFileName1, folder1] = uigetfile(defaultFileName1, 'Select Bicubic file');defaultFileName2 = fullfile(startingFolder, '*.*');[baseFileName2, folder2] = uigetfile(defaultFileName2, 'Select Other method file');if baseFileName1 == 0 % User clicked the Cancel button.
return;endfullSourceFileName1 = fullfile(folder1, baseFileName1)if baseFileName2 == 0 % User clicked the Cancel button. return;endfullSourceFileName2 = fullfile(folder2, baseFileName2)% Read images to be differenced from source file names
firstImage = imread(fullSourceFileName1);secondImage = imread(fullSourceFileName2);% Resize images
firstImageresize = (imresize(firstImage, [504, 504])); % Bicubic Method
secondImageresize = (imresize(secondImage, [504, 504])); % Methods to compare
% Image difference
difference_image = double(secondImageresize) - double(firstImageresize); imshow(difference_image)% Saving results
% Create destination filename
destinationFolder = 'C:/Set5 [X2]';if ~exist(destinationFolder, 'dir') mkdir(destinationFolder);end% Strip off extenstion from input file
[sourceFolder, baseFileNameNoExtenstion, ext] = fileparts(fullSourceFileName1);% Create jpeg filename. Don't use jpeg format for image analysis!
outputBaseName = [baseFileNameNoExtenstion, '.JPG']fullDestinationFileName = fullfile(destinationFolder, outputBaseName);% Write the jpg file. This will convert whatever format you started with to the hated jpg format.
imwrite(difference_image, fullDestinationFileName);
Thanks
Best Answer