📄 dsp.m
字号:
handles.winname = get(handles.edit1,'String');handles.fftlen = str2num(get(handles.edit2,'String'));handles.winlen = str2num(get(handles.edit3,'String'));subplot(2,1,1);plot(handles.Time(handles.x1:handles.x2),handles.Amp(handles.x1:handles.x2));xlim([handles.Time(handles.x1) handles.Time(handles.x2)]);xlabel('Time(s)');ylabel('Velocity');title('Part of Original Signal');subplot(1,1,1);if upper(handles.winname) == upper('hamming') specgram(handles.Amp(handles.x1:handles.x2),handles.fftlen,1/handles.Time(2),hamming(handles.winlen),2);elseif upper(handles.winname) == upper('hanning') specgram(handles.Amp(handles.x1:handles.x2),handles.fftlen,1/handles.Time(2),hanning(handles.winlen),2);elseif upper(handles.winname) == upper('blackman') specgram(handles.Amp(handles.x1:handles.x2),handles.fftlen,1/handles.Time(2),blackman(handles.winlen),2);elseif upper(handles.winname) == upper('bartlett') specgram(handles.Amp(handles.x1:handles.x2),handles.fftlen,1/handles.Time(2),bartlett(handles.winlen),2);elseif upper(handles.winname) == upper('gausswin') specgram(handles.Amp(handles.x1:handles.x2),handles.fftlen,1/handles.Time(2),gausswin(handles.winlen),2);else specgram(handles.Amp(handles.x1:handles.x2),handles.fftlen,1/handles.Time(2),hamming(handles.winlen),2);end%myspecgram2(handles.Amp(handles.x1:handles.x2));xlabel('Time(s)');ylabel('Frequency');title('STFT Result');guidata(h,handles);% --------------------------------------------------------------------function varargout = PSD_Callback(h, eventdata, handles, varargin)subplot(2,1,1);plot(handles.Time(handles.x1:handles.x2),handles.Amp(handles.x1:handles.x2));xlim([handles.Time(handles.x1) handles.Time(handles.x2)]);xlabel('Time(s)');ylabel('Velocity');title('Part of Original Signal');subplot(2,1,2);PSD(handles.Amp(handles.x1:handles.x2),1024,1/handles.Time(2),hamming(1024));% --------------------------------------------------------------------function varargout = TFRDemo_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = GenerateSigOne_Callback(h, eventdata, handles, varargin)path(path,'c:\matlab\work\toolboxes\tftb\demos');path(path,'c:\matlab\work\toolboxes\tftb\mfiles');path(path,'c:\matlab\work\toolboxes\tftb\mat');handles.sig1=real(fmlin(1024,0,0.5));subplot(1,1,1);plot(handles.sig1);guidata(h,handles);% --------------------------------------------------------------------function varargout = GenerateSigTwo_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = TFRWV_Callback(h, eventdata, handles, varargin)tfrwv(handles.sig1);% --------------------------------------------------------------------function varargout = Untitled_9_Callback(h, eventdata, handles, varargin)tfrsp(handles.sig1);% --------------------------------------------------------------------function varargout = Untitled_10_Callback(h, eventdata, handles, varargin)ambifunb(handles.sig1);% --------------------------------------------------------------------function varargout = edit3_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = ThreeDSTFT_Callback(h, eventdata, handles, varargin)subplot(1,1,1);plot(handles.Time(handles.x1:handles.x2),handles.Amp(handles.x1:handles.x2));xlim([handles.Time(handles.x1) handles.Time(handles.x2)]);xlabel('Time(s)');ylabel('Velocity');title('Part of Original Signal');%subplot(1,1,1);handles.stft = myspecgram2(handles.Amp(handles.x1:handles.x2));%xlabel('Time(s)');%ylabel('Frequency');%title('STFT Result');guidata(h,handles);% --------------------------------------------------------------------function varargout = ImageCrop_Callback(h, eventdata, handles, varargin)rect = getrect;t1 = 1:round(rect(3));t2 = 1:round(rect(4));t3 = round(rect(1))+1:round(rect(1))+round(rect(3));t4 = round(rect(2))+1:round(rect(2))+round(rect(4));handles.crop(t1,t2) = handles.stft(t4,t3);guidata(h,handles);% --------------------------------------------------------------------function varargout = ThreeDPlot_Callback(h, eventdata, handles, varargin)[ww,hh] = size(handles.crop);t1 = 1:ww;t2 = 1:hh;figure,surf(t2, t1, handles.crop);axis xy; view(20,84);colormap(jet);shading interp;% --------------------------------------------------------------------function varargout = Denoise_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = DenC_Callback(h, eventdata, handles, varargin)handles.stdcoef1 = str2num(get(handles.edit5,'String'));%std1 = std2(handles.denoisedLM)*handles.stdcoef1;std1 = std2(handles.stftforproc)*handles.stdcoef1;%handles.denoisedWD = denc2d2(handles.denoisedLM, std1);handles.denoisedWD = abs(denc2d2(handles.stftforproc, std1));handles.currentIM = handles.denoisedWD;%figure,pcolor(abs(handles.denoisedWD));figure,pcolor(log10(abs(handles.denoisedWD)));colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = BayesThresh_Callback(h, eventdata, handles, varargin)std1 = std2(handles.stftforproc);%std1 = std2(handles.denoisedLM);handles.denoisedWD = BayesThresh2(handles.stftforproc, std1); %BayesShrink%handles.denoisedWD = BayesThresh2(handles.denoisedLM, std1); %BayesShrinkhandles.currentIM = handles.denoisedWD;%figure,pcolor(abs(handles.denoisedWD));figure,pcolor(log10(abs(handles.denoisedWD)));colormap(jet);colorbar;shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = ProbThresh_Callback(h, eventdata, handles, varargin)handles.stdcoef1 = str2num(get(handles.edit5,'String'));im = handles.stftforproc;%im = handles.denoisedLM;[ww,hh] = size(im);m1 = max(max(im));m2 = min(min(im));for i=1:ww; for j=1:hh im1(i,j) = 255*(im(i,j)-m2)/(m1-m2); endendstd1 = std2(im1)*handles.stdcoef1;handles.denoisedWD = probthresh1(im1,std1); %ProbShrinkhandles.currentIM = handles.denoisedWD;figure,pcolor(handles.denoisedWD);colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = LocalMeanSTD_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = SelectArea_Callback(h, eventdata, handles, varargin)path(path,'c:\matlab\work\mywork');path(path,'c:\matlab\work\mywork\budd');path(path,'c:\matlab\work\mywork\umich\2d');path(path,'c:\matlab\work\mywork\sanja-prob\probshrink');[ww,hh] = size(handles.stft');fprintf('width and height = "%d\t %d"\n', ww,hh)rect = getrect;x1 = round(rect(1)*ww/(handles.x2-handles.x1));x3 = round((rect(1)+rect(3))*ww/(handles.x2-handles.x1));%x2 = round(rect(2)*hh);%x4 = round((rect(2)+rect(4))*hh);x2 = round(rect(2));x4 = round((rect(2)+rect(4)));fprintf('rect area = "%d\t%d\t%d\t%d"\n', x1,x2,x3,x4)%handles.stftforproc = handles.stft(1:512, x1:x1+255);handles.stftforproc = handles.stft(1:1023, 50+x1:50+x1+127);figure,pcolor(log10(handles.stftforproc));colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = UndoSelectArea_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = edit4_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = edit5_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = edit6_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = DIP_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = Dilation_Callback(h, eventdata, handles, varargin)im = imdilate(handles.currentIM, handles.se);handles.currentIM = im;figure,pcolor(log10(handles.currentIM));colormap(jet);shading interp;guidata(h, handles);% --------------------------------------------------------------------function varargout = Erosion_Callback(h, eventdata, handles, varargin)im = imerode(handles.currentIM, handles.se);handles.currentIM = im;figure,pcolor(log10(handles.currentIM));colormap(jet);shading interp;guidata(h, handles);% --------------------------------------------------------------------function varargout = Opening_Callback(h, eventdata, handles, varargin)im = imopen(handles.currentIM, handles.se);handles.currentIM = im;figure,pcolor(log10(handles.currentIM));colormap(jet);shading interp;guidata(h, handles);% --------------------------------------------------------------------function varargout = Close_Callback(h, eventdata, handles, varargin)im = imclose(handles.currentIM, handles.se);handles.currentIM = im;figure,pcolor(log10(handles.currentIM));colormap(jet);shading interp;guidata(h, handles);% --------------------------------------------------------------------function varargout = edit7_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = edit8_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = edit9_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = GlobalThreshold_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = CreateStructure_Callback(h, eventdata, handles, varargin)struname = get(handles.edit7,'String');strupara1 = str2num(get(handles.edit8,'String'));strupara2 = str2num(get(handles.edit9,'String'));handles.se = strel(struname, strupara1, strupara2); guidata(h,handles);% --------------------------------------------------------------------function varargout = MedianFilter_Callback(h, eventdata, handles, varargin)medim = medfilt2(handles.currentIM);handles.currentIM = medim;clear medim;figure,pcolor(log10(handles.currentIM));colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = ThroughOneD_Callback(h, eventdata, handles, varargin)handles.boxlen = str2num(get(handles.edit4,'String'));handles.stdcoef1 = str2num(get(handles.edit5,'String'));handles.stdcoef2 = str2num(get(handles.edit6,'String'));handles.denoisedLM = STFTDenoise2(handles.stftforproc, handles.boxlen, handles.stdcoef1, handles.stdcoef2);%handles.denoisedLM = STFTDenoise2(handles.currentIM, handles.boxlen, handles.stdcoef1, handles.stdcoef2);%handles.stftforproc = handles.denoisedLM;%handles.currentIM = handles.denoisedLM;figure,pcolor(log10(handles.denoisedLM));%figure,pcolor(handles.denoisedLM);colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = ThroughTwoD_Callback(h, eventdata, handles, varargin)handles.boxlen = str2num(get(handles.edit4,'String'));handles.stdcoef1 = str2num(get(handles.edit5,'String'));handles.stdcoef2 = str2num(get(handles.edit6,'String'));handles.denoisedLM = STFTDenoise3(handles.stftforproc, handles.boxlen, handles.stdcoef1, handles.stdcoef2);%handles.denoisedLM = STFTDenoise2(handles.currentIM, handles.boxlen, handles.stdcoef1, handles.stdcoef2);%handles.stftforproc = handles.denoisedLM;%handles.currentIM = handles.denoisedLM;figure,pcolor(log10(handles.denoisedLM));%figure,pcolor(handles.denoisedLM);colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = Edge_Callback(h, eventdata, handles, varargin)% --------------------------------------------------------------------function varargout = Sobel_Callback(h, eventdata, handles, varargin)w = fspecial('sobel');g = imfilter(handles.currentIM,w,'replicate');figure,pcolor(log10(abs(g)));colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = Prewitt_Callback(h, eventdata, handles, varargin)w = fspecial('prewitt');g = imfilter(handles.currentIM,w,'replicate');figure,pcolor(log10(abs(g)));colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = Laplacian_Callback(h, eventdata, handles, varargin)w = fspecial('Laplacian');g = imfilter(handles.currentIM,w,'replicate');figure,pcolor(log10(abs(g)));colormap(jet);shading interp;guidata(h,handles);% --------------------------------------------------------------------function varargout = Canny_Callback(h, eventdata, handles, varargin)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -