I am having trouble subtracting one image from another and returning negative values. Below is my code, any suggestions why no negative values are return for the variable 'frame3':
function pushbutton1_Callback(hObject, eventdata, handles)prompt = {'Mono:'};dlg_title = 'Mono:';%user chooses number of bits for camera
num_lines = 1;def = {'16'};inputs = str2num(char(inputdlg(prompt, dlg_title, num_lines, def)));if (inputs == 8) vid = videoinput('gige', 1, 'Mono8');elseif (inputs == 10) vid = videoinput('gige', 1, 'Mono10');elseif (inputs == 12) vid = videoinput('gige', 1, 'Mono12');elseif (inputs == 14) vid = videoinput('gige', 1, 'Mono14');else vid = videoinput('gige', 1, 'Mono16');endsrc = getselectedsource(vid);vid.FramesPerTrigger = 2;start(vid);%start acquisition
wait(vid,60)data = getdata(vid);frame1 = data(:,:,:,1);frame2 = data(:,:,:,2);axes(handles.axes1);imshow(frame1);axes(handles.axes2);imshow(frame2);frametempt=imabsdiff(frame1, frame2);axes(handles.axes4);imshow(frametempt);I = 1.4142135623730950488016887242097;frame3 = imdivide(frametempt, I);%qualitive noise calc.
axes(handles.axes3);imshow(frame3);Mint = min(frame3);Maxt = max(abs(frame3));Min = min(Mint);Max = max(Maxt);set(handles.text3, 'String',num2str(Min));set(handles.text4, 'String',num2str(Max));fid5 = fopen('DF.bin', 'w');fwrite(fid5, frame3, 'int16');fclose(fid5);fid6 = fopen('frame1.bin', 'w');fwrite(fid6, frame1, 'int16');fclose(fid6);fid7 = fopen('frame2.bin', 'w');fwrite(fid7, frame2, 'int16');fclose(fid7);fid8 = fopen('frametempt.bin', 'w');fwrite(fid8, frametempt, 'int16');fclose(fid8);axes(handles.axes3);imshow(samevals);
Best Answer