📄 synchronize.m
字号:
function Frame_No2_Callback(hObject, eventdata, handles)% hObject handle to Frame_No2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of Frame_No2 as text% str2double(get(hObject,'String')) returns contents of Frame_No2 as a double% --- Executes during object creation, after setting all properties.function Frame_No2_CreateFcn(hObject, eventdata, handles)% hObject handle to Frame_No2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called% Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end% --- Executes on button press in previous2.function previous2_Callback(hObject, eventdata, handles)% hObject handle to previous2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if handles.fnd2>0 handles.show2 = handles.show2 - 1; if handles.show2<1 handles.show2 = handles.fnd2; end handles.n2 = handles.pos2(handles.show2); set(handles.slider2,'Value',handles.n2/max(size(handles.mov2))); set(handles.Frame_No2,'String',handles.n2); axes(handles.axes2) cla hold on, [handles.I2,Map] = frame2im(handles.mov2(1,handles.n2)); imshow(handles.I2); guidata(hObject, handles);end% --- Executes on button press in select2.function select2_Callback(hObject, eventdata, handles)% hObject handle to select2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)prompt={'Height of Rectangle:','Width of Rectangle::'};name='The Size of Region';numlines=1;sz = size(handles.I2);defaultanswer={num2str(round(sz(1)/40)),num2str(round(sz(2)/40))};answer=inputdlg(prompt,name,numlines,defaultanswer);handles.h2 = eval(char(answer(1)));handles.w2 = eval(char(answer(2)));[x,y] = ginput(1)handles.x2 = fix(x) - round(handles.w2/2)+1;handles.y2 = fix(y) - round(handles.h2/2)+1;axes(handles.axes2)rectangle('Position',[handles.x2,handles.y2,handles.w2,handles.h2],'Curvature',[0.2,0.2],'EdgeColor','g')set(handles.Start2,'Enable','on');guidata(hObject, handles);% --- Executes on button press in next2.function next2_Callback(hObject, eventdata, handles)% hObject handle to next2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)if handles.fnd2>0 handles.show2 = handles.show2 + 1; if handles.show2>handles.fnd2 handles.show2 = 1; end handles.n2 = handles.pos2(handles.show2); set(handles.slider2,'Value',handles.n2/max(size(handles.mov2))); set(handles.Frame_No2,'String',handles.n2); axes(handles.axes2) cla hold on, [handles.I2,Map] = frame2im(handles.mov2(1,handles.n2)); imshow(handles.I2); guidata(hObject, handles);end% --- Executes on button press in Open2.function Open2_Callback(hObject, eventdata, handles)% hObject handle to Open2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)clc;[filename, pathname] = uigetfile('*.avi', 'Pick an avi-file');if isequal(filename,0) disp('User selected Cancel')else file = fullfile(pathname, filename) disp(['User selected', file]) name = ['Right Camera - ' file]; set(handles.uipanel2,'Title',name) handles.mov2 = aviread(file); handles.nof2 = max(size(handles.mov2)); handles.n2 = handles.nof2; set(handles.slider2,'Value',1); set(handles.Frame_No2,'String',handles.n2); [handles.I2,Map] = frame2im(handles.mov2(1,handles.n2)); guidata(hObject, handles); axes(handles.axes2) cla hold on, imshow(handles.I2); set(handles.slider2,'SliderStep',[1/handles.nof2;.1]) set(handles.select2,'Enable','on'); guidata(hObject, handles);end% --- Executes on button press in Save_As.function Save_As_Callback(hObject, eventdata, handles)% hObject handle to Save_As (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in Exit.function Exit_Callback(hObject, eventdata, handles)% hObject handle to Exit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)close% --- Executes on button press in Start1.function Start1_Callback(hObject, eventdata, handles)% hObject handle to Start1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)h = waitbar(0,'Please wait...');for i = 1:handles.nof1 waitbar(i/handles.nof1,h) clear I [I,Map] = frame2im(handles.mov1(1,i)); sz = size(I); x1 = handles.x1; x2 = handles.x1+handles.w1; y1 = handles.y1; y2 = handles.y1+handles.h1; if y1<1, y1=1, end if x1<1, x1=1, end if y2+1>sz(1), y2=sz(1)-1, end if x2+1>sz(2), x2=sz(2)-1, end I1=[]; I1 = I(y1:y2,x1:x2,:); f1(i) = sum(sum(sum(I1)))/(3*(y2-y1)*(x2-x1));endclose(h)mn = mean(f1);figure, plot(f1)defaultanswer={num2str(20)};en=inputdlg('Enter a Value for Threshold','Input',1,defaultanswer);threshold = eval(char(en));n = 0;for i = 1:handles.nof1 if f1(i)>(mn+threshold) n = n+1; handles.pos1(n) = i; pos1(n) = i; endendhandles.fnd1 = n; % No of found Flasherif handles.fnd1>0 set(handles.Previous1,'Enable','on'); set(handles.Next1,'Enable','on'); handles.show1 = handles.fnd1; handles.n1 = handles.pos1(handles.show1); set(handles.slider1,'Value',handles.n1/max(size(handles.mov1))); set(handles.Frame_No1,'String',handles.n1); axes(handles.axes1) cla hold on, [handles.I1,Map] = frame2im(handles.mov1(1,handles.n1)); imshow(handles.I1); guidata(hObject, handles);end%pos1'% maxval = max(f1);% [a]=find(f1 == maxval)guidata(hObject, handles);% --- Executes on button press in Start2.function Start2_Callback(hObject, eventdata, handles)% hObject handle to Start2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)h = waitbar(0,'Please wait...');for i = 1:handles.nof2 waitbar(i/handles.nof2,h) clear I [I,Map] = frame2im(handles.mov2(1,i)); sz = size(I); x1 = handles.x2; x2 = handles.x2+handles.w2; y1 = handles.y2; y2 = handles.y2+handles.h2; if y1<1, y1=1, end if x1<1, x1=1, end if y2+1>sz(1), y2=sz(1)-1, end if x2+1>sz(2), x2=sz(2)-1, end I1=[]; I1 = I(y1:y2,x1:x2,:); f1(i) = sum(sum(sum(I1)))/(3*(y2-y1)*(x2-x1));endclose(h)mn = mean(f1);figure, plot(f1)defaultanswer={num2str(50)};en=inputdlg('Enter a Value for Threshold','Input',1,defaultanswer);threshold = eval(char(en));n = 0;for i = 1:handles.nof2 if f1(i)>(mn+threshold) n = n+1; handles.pos2(n) = i; %pos1(n) = i; endendhandles.fnd2 = n; % No of found Flasherif handles.fnd2>0 set(handles.previous2,'Enable','on'); set(handles.next2,'Enable','on'); handles.show2 = handles.fnd2; handles.n2 = handles.pos2(handles.show2); set(handles.slider2,'Value',handles.n2/max(size(handles.mov2))); set(handles.Frame_No2,'String',handles.n2); axes(handles.axes2) cla hold on, [handles.I2,Map] = frame2im(handles.mov2(1,handles.n2)); imshow(handles.I2); guidata(hObject, handles);end%pos1'% maxval = max(f1);% [a]=find(f1 == maxval)guidata(hObject, handles);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -