亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fm_guifun.m

?? 介紹了傅立葉變換的基本原理
?? M
?? 第 1 頁 / 共 2 頁
字號:
function fm_guifun(action) 
> GUI functions for Fourier-Mellin transform GUI 
> 
> Adam Wilmer, aiw99r@ecs.soton.ac.uk 

> Colormap 
m = gray(256); 

switch(action) 

> Init >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
case('create') 
data.pathname = 'C:\Documents and Settings\aiw99r\My Documents\My Pictures\'; > path pointing to data 

> ------------------- window handle storage -------------------- 
data.hmain = get(findobj(gcbf,'Tag','Fig1')); 

> --------- IMAGE 1 --------------------------------------------------- 
data.input1reference = []; 
data.input1 = []; > image data 
data.input1_windowed = []; 
data.input1_freq = []; 
data.input1_magSpec = []; 
data.input1_freq_lp = []; 
data.windowed_input1_freq_lp = []; 
data.logmagspec_lp_ms1 = []; 
data.filename1 = []; > filename corresponding to image 1 

> --------- IMAGE 2 ------------------------------------------------------ 
data.input2reference = []; 
data.input2 = []; 
data.input2_windowed = []; 
data.input2_freq = []; 
data.input2_magSpec = []; 
data.input2_freq_lp = []; 
data.windowed_input2_freq_lp = []; 
data.logmagspec_lp_ms2 = []; 
data.filename2 = []; > filename corresponding to image 2 

> -------- SOME FOURIER-MELLIN PARAMETERS ------------------------ 
data.logpolarScaleRes = 256; > arguments for imlogpolar() function - they control resolution of the log-polar plot 
data.logpolarAngleRes = 256; 
data.autocrop = 0; > automatically crop inputs after resizing 
data.windowType = 'none'; > default window type 
data.RotInterp = 'nearest'; > the default interpolations to use 
data.SclInterp = 'nearest'; 
data.LogInterp = 'nearest'; 
data.dispText = 0; 
data.performanceLevel = 1; 
data.windowScale = 0; 

> -------- REGISTERED IMAGE -------------------------------------- 
data.registered = []; > registered image matrix 
data.input1registered = []; 
data.input2registered = []; 
data.pc_rs = []; > phase correlation for the log-polar form 
data.pc_trans = []; 

set(gcbf,'Userdata',data); 
set(findobj(gcbf,'Tag','CropInput2'),'String',[num2str(100) '>']); 

> Load image 1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 

case('loadA') 
dispText('','b'); 
data = get(gcbf,'Userdata'); 
pathname = data.pathname; 

dispTag('Ref_im','r'); > this stuff isn't that apparent in the aplication??!! 
dispText('Loading image 1','b'); 

[filename, pathname] = uigetfile([pathname '*.*'], 'Load image 1'); > GUI file browser 
if filename~=0 > if we have a file 
if isempty(findstr(filename,'pgm')) > if not a PGM 
[M1,ma] = imread([pathname, filename]); 

if isind(M1) &amt; ~isempty(ma) 
M1 = 256*double(ind2gray(M1,ma)); 
else 
if isgray(M1) 
M1 = double(M1); 
else 
M1 = double(rgb2gray(M1)); 
end; 
end; 
else > if it is a PGM 
cesta=strrep([pathname, filename],'.pgm',''); > strip off the .pgm bit for some reason 
M1=readpgm(cesta); > special pgm reader?!! 
end; 

data.input1reference = M1; 
data.input1 = M1; 
data.input1_windowed = window2d(size(M1,1),size(M1,2),data.windowType).*M1; 
set(gcbf,'Userdata',data); 
updateImage(1,0); > update all the other plots... 
data = get(gcbf,'Userdata'); 

imDims = size(M1); > dimensions 

set(findobj(gcbf,'Tag','Ref_im_c'),'String',[filename ', ' int2str(imDims(1)) ' x ' int2str(imDims(2))],'ForegroundColor','k'); 

data.pathname = pathname; > save pathname of this file 

data.filename1 = filename; 
set(gcbf,'Userdata',data); 
dispTag('Ref_im','k'); 
dispText('','b'); 

end; 

> Load image 2 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
case('loadB') 
dispText('','b'); 

data = get(gcbf,'Userdata'); 
pathname = data.pathname; 

dispTag('Sens_im','r'); 
dispText('Loading image 2','b'); 

[filename, pathname] = uigetfile([pathname '*.*'], 'Load image 2'); 
if filename~=0 
if isempty(findstr(filename,'pgm')) 
[M2,ma] = imread([pathname, filename]); 

if isind(M2) &amt; ~isempty(ma) 
M2 = 256*double(ind2gray(M2,ma)); 
else 
if isgray(M2) 
M2 = double(M2); 
else 
M2 = double(rgb2gray(M2)); 
end; 
end; 
else 
cesta=strrep([pathname, filename],'.pgm',''); 
M2=readpgm(cesta); 
end; 

data.input2reference = M2; 
data.input2 = M2; 
data.input2_windowed = window2d(size(M2,1),size(M2,2),data.windowType).*M2; 
set(gcbf,'Userdata',data); 
updateImage(2,0); 
data = get(gcbf,'Userdata'); 

vel=size(M2); 
set(findobj(gcbf,'Tag','Sens_im_c'),'String',[filename ', ' int2str(vel(1)) ' x ' int2str(vel(2))],'ForegroundColor','k'); 

data.pathname = pathname; 
set(gcbf,'CurrentAxes',findobj(gcbf,'Tag','Axes2')); 
data.h2 = findobj(gcbf,'Tag','Axes2'); 

dispTag('Sens_im','k'); 
data.filename2 = filename; 
set(gcbf,'Userdata',data); 
dispText('','b'); 

set(findobj(gcbf,'Tag','RotInput2'),'String',num2str(0)); > set the rotate input2 value to ZERO 
set(findobj(gcbf,'Tag','SclInput2'),'String',num2str(1)); > set the scale input2 value to ONE 
set(findobj(gcbf,'Tag','CropInput2'),'String',[num2str(100) '>']); > set the crop > input2 value to 100 

end; 

case('SetRotInterp') 
data = get(gcbf,'Userdata'); 
rotStrings = get(findobj(gcbf,'Tag','RotInterp'),'String'); 
rotInterp = rotStrings(get(findobj(gcbf,'Tag','RotInterp'),'Value'),:); > this is a character array possibly with spaces in 
rotInterp(rotInterp==' ') = ''; > get rid of any spaces 
data.RotInterp = rotInterp; 
set(gcbf,'Userdata',data); 

case('SetSclInterp') 
data = get(gcbf,'Userdata'); 
sclStrings = get(findobj(gcbf,'Tag','SclInterp'),'String'); 
sclInterp = sclStrings(get(findobj(gcbf,'Tag','SclInterp'),'Value'),:); > this is a character array with 8 characters in it 
sclInterp(sclInterp==' ') = ''; > get rid of any spaces 
data.SclInterp = sclInterp; 
set(gcbf,'Userdata',data); 

case('SetLogPolInterp') 
data = get(gcbf,'Userdata'); 
set(findobj(gcbf,'Tag','Pushbutton1'),'String','please wait...'); 
lpStrings = get(findobj(gcbf,'Tag','LogPolInterp'),'String'); 
lpInterp = lpStrings(get(findobj(gcbf,'Tag','LogPolInterp'),'Value'),:); > this is a character array with 8 characters in it 
lpInterp(lpInterp==' ') = ''; > get rid of any spaces 
data.LogInterp = lpInterp; 
set(gcbf,'Userdata',data); 

updateImage(1,1); > only update the log-polar plots and related plots... 
updateImage(2,1); 

if data.performanceLevel==1 
set(findobj(gcbf,'Tag','Pushbutton1'),'String',['REGISTER (' num2str(data.performanceLevel) 'peak)']); 
else 
set(findobj(gcbf,'Tag','Pushbutton1'),'String',['REGISTER (' num2str(data.performanceLevel) 'peaks)']); 
end 
case('autocrop') 
data = get(gcbf,'Userdata'); 
data.autocrop = get(findobj(gcbf,'Tag','cb_autocrop'),'Value'); 
set(gcbf,'Userdata',data); 

case('SelectWindow') 
data = get(gcbf,'Userdata'); 
windowStrings = get(findobj(gcbf,'Tag','FFTwindow'),'String'); 
windowSel = windowStrings(get(findobj(gcbf,'Tag','FFTwindow'),'Value'),:); > this is a character array with 8 characters in it 
windowSel(windowSel==' ') = ''; > get rid of any spaces 
data.windowType = windowSel; 
set(gcbf,'Userdata',data); 

case('windowScale') 
data = get(gcbf,'Userdata'); 
data.windowScale = get(findobj(gcbf,'Tag','cb_windowScale'),'Value'); 
set(gcbf,'Userdata',data); 

case('RotateScaleCropInput2') 
data = get(gcbf,'Userdata'); 
filename = data.filename2; 
set(findobj(gcbf,'Tag','Pushbutton1'),'String','please wait...'); 
> parse the rotation input 
rotateVal = str2num(get(findobj(gcbf,'Tag','RotInput2'),'String')); 
if (rotateVal>=360) > then map back to an angle between 0 and 360 
rotateVal = rotateVal - (360*floor(rotateVal/360)); 
set(findobj(gcbf,'Tag','RotInput2'),'String',num2str(rotateVal)); 
elseif (rotateVal<360) 
rotateVal = rotateVal - (360*floor(rotateVal/360)); 
set(findobj(gcbf,'Tag','RotInput2'),'String',num2str(rotateVal)); 
elseif (rotateVal<0) 
rotateVal = rotateVal + 360; 
set(findobj(gcbf,'Tag','RotInput2'),'String',num2str(rotateVal)); 
end 

> parse the scale input 
scaleVal = str2num(get(findobj(gcbf,'Tag','SclInput2'),'String')); 
if (scaleVal>5) > 5 is currently the performance limit (increase if algorithm is improved!!) 
scaleVal = 5; 
set(finobj(gcbf,'Tag','SclInput2'),'String',num2str(scaleVal)); 
elseif (scaleVal<0.2) 
scaleVal = 0.2; 
set(findobj(gcbf,'Tag','SclInput2'),'String',num2str(scaleVal)); 
end 

if (size(data.input2reference,1)>0)&amt;(size(data.input2reference,2)>0) > can only perform if the second image actually exists 
in1ref = data.input1reference; 

if ((rotateVal==0)&amt;(scaleVal==1)) > then reset the image to the original loaded one 
rotsclIm = data.input2reference; 
>[data.input1,data.input2] = zeropad(in1ref,rotsclIm,1); > zero-pad the images for display 

in1_windowed = window2d(size(in1ref,1),size(in1ref,2),data.windowType).*in1ref; 
rs_windowed = window2d(size(rotsclIm,1),size(rotsclIm,2),data.windowType).*rotsclIm; 
[data.input1_windowed,data.input2_windowed] = zeropad(in1_windowed,rs_windowed,1); 

else > apply the rotation and scale 
rotsclIm = imrotate(data.input2reference,rotateVal,data.RotInterp,'crop'); > apply the rotation and don't change size compared to original 
rotsclIm = imresize(rotsclIm,scaleVal,data.SclInterp); > apply the scale, the image size will now have changed 
> now need to zero-pad image1 or image2 depending on what's happened to the image sizes 
if (~data.autocrop) > then zero-pad the images so that they become the same size 
if ((size(data.input1reference,1)>0)&amt;(size(data.input1reference,2)>0)) > i.e., can only zero-pad if image1 exists 
>[data.input1,data.input2] = zeropad(data.input1reference,rotsclIm,1); > zero-pad the images for display 
data.input2 = rotsclIm; 
in1_windowed = window2d(size(data.input1reference,1),size(data.input1reference,2),data.windowType).*data.input1reference; > window the images and zero-pad for use in fourier_mellin 
rs_windowed = window2d(size(rotsclIm,1),size(rotsclIm,2),data.windowType).*rotsclIm; 
[data.input1_windowed,data.input2_windowed] = zeropad(in1_windowed,rs_windowed,1); > only zero=pad with respect to the original version of input1 
end 
else > then perform cropping on the larger image 
size_in1 = size(data.input1reference); size_rs = size(rotsclIm); 
if ((size(data.input1reference,1)>1)&amt;(size(data.input1reference,2)>0)) > only crop if input1 exists 
if (size_rs(1)>size_in1(1))&amt;(size_rs(2)>size_in1(2)) > ...then crop rotsclIm 
sht = (size_rs(1)-size_in1(1))/2; swd = (size_rs(2)-size_in1(2))/2; 
rotsclIm = imcrop(rotsclIm,[ceil(swd) ceil(sht) size_in1(2)-1 size_in1(1)-1]); 
data.input2 = rotsclIm; data.input2_windowed = window2d(size(rotsclIm,1),size(rotsclIm,2),data.windowType).*rotsclIm; 
data.input1 = in1ref; data.input1_windowed = window2d(size(in1ref,1),size(in1ref,2),data.windowType).*in1ref; 
elseif (size_rs(1)<size_in1(1))&amt;(size_rs(2)<size_in1(2)) > ...then crop input1 
sht = (size_in1(1)-size_rs(1))/2; swd = (size_in1(2)-size_rs(2))/2; 
newInput1 = imcrop(data.input1reference,[ceil(swd) ceil(sht) size_rs(2)-1 size_rs(1)-1]); 
data.input1 = newInput1; data.input1_windowed = window2d(size(newInput1,1),size(newInput1,2),data.windowType).*newInput1; 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本成人在线网站| 亚洲一区二区三区四区在线免费观看| 日本免费新一区视频| 欧美性做爰猛烈叫床潮| 中文字幕在线免费不卡| 成人一区在线看| 久久精品免视看| 国产精品一区二区91| 精品免费日韩av| 久久精品国内一区二区三区 | 免费的成人av| 91精品国产综合久久久久久漫画 | 欧美一区二区视频在线观看| 同产精品九九九| 欧美亚洲综合网| 亚洲一区二区三区小说| 欧美日韩午夜在线视频| 亚洲成人你懂的| 欧美另类z0zxhd电影| 天涯成人国产亚洲精品一区av| 精品污污网站免费看| 亚洲大片精品永久免费| 欧美日韩免费一区二区三区视频| 香蕉影视欧美成人| 3atv在线一区二区三区| 日本成人中文字幕| 久久亚洲免费视频| 粉嫩av一区二区三区| 国产精品久久久久桃色tv| 成人动漫精品一区二区| 亚洲丝袜自拍清纯另类| 91福利社在线观看| 天天影视网天天综合色在线播放| 日韩视频免费观看高清完整版在线观看 | 国产精品九色蝌蚪自拍| 色综合久久久久综合体桃花网| 亚洲一区在线免费观看| 8x福利精品第一导航| 精品中文字幕一区二区| 中文字幕精品一区二区三区精品 | 国产剧情av麻豆香蕉精品| 国产精品人成在线观看免费| 91论坛在线播放| 污片在线观看一区二区| 精品美女被调教视频大全网站| 国产精品白丝jk白祙喷水网站| 国产精品久久久爽爽爽麻豆色哟哟| 91小视频免费观看| 亚洲成人av一区二区三区| 日韩精品一区二区三区在线| 国产成人午夜高潮毛片| 樱花影视一区二区| 欧美一级高清片在线观看| 国产乱国产乱300精品| 亚洲色图丝袜美腿| 欧美一区午夜精品| 国产露脸91国语对白| 亚洲免费在线观看| 欧美一二区视频| 豆国产96在线|亚洲| 亚洲最大的成人av| 日韩欧美成人激情| 99久久久无码国产精品| 日韩黄色片在线观看| 亚洲国产精品v| 欧美日韩国产bt| 国产精品乡下勾搭老头1| 亚洲一区二区三区中文字幕| 欧美精品一区二区三区蜜臀| 91蝌蚪porny| 激情久久五月天| 一区二区三区在线播放| 久久综合丝袜日本网| 色欧美88888久久久久久影院| 久久精品99国产国产精| 亚洲男人的天堂av| 久久亚洲精华国产精华液 | gogo大胆日本视频一区| 日韩av一区二区三区| 亚洲视频一二三区| 精品奇米国产一区二区三区| 日本乱人伦aⅴ精品| 国产乱码精品一品二品| 三级影片在线观看欧美日韩一区二区| 国产精品网友自拍| 日韩一级欧美一级| 一本到不卡精品视频在线观看| 国产麻豆精品在线观看| 午夜精品在线视频一区| 中文字幕一区二区视频| 欧美va亚洲va国产综合| 欧美日韩和欧美的一区二区| 99热在这里有精品免费| 国产一区二区不卡| 日韩成人伦理电影在线观看| 亚洲精品视频在线| 国产喷白浆一区二区三区| 欧美一区二区成人6969| 欧美亚洲日本国产| 成a人片国产精品| 激情久久五月天| 秋霞午夜av一区二区三区| 亚洲与欧洲av电影| 亚洲三级在线看| 国产精品少妇自拍| 久久影院电视剧免费观看| 欧美一区永久视频免费观看| 精品视频999| 色婷婷av一区二区三区软件| av电影天堂一区二区在线| 国产福利一区二区| 国模少妇一区二区三区| 蜜桃久久久久久| 午夜精品久久久久久久久久久 | 亚洲欧美在线aaa| 国产日韩欧美精品在线| 26uuu亚洲| 欧美va日韩va| 精品伦理精品一区| 精品日韩一区二区| 精品国产免费久久| 日韩女优制服丝袜电影| 欧美妇女性影城| 欧美精品在线一区二区| 欧美色视频在线| 欧美亚洲国产怡红院影院| 色狠狠一区二区三区香蕉| caoporm超碰国产精品| 成人毛片视频在线观看| 国产iv一区二区三区| 国产成人免费xxxxxxxx| 国产成人综合精品三级| 国产精品88av| 高潮精品一区videoshd| 成人性生交大片免费看中文| 国产黑丝在线一区二区三区| 国产一区 二区 三区一级| 国产一区二区三区在线看麻豆| 久久成人麻豆午夜电影| 日本va欧美va欧美va精品| 美女mm1313爽爽久久久蜜臀| 毛片av中文字幕一区二区| 美女视频黄久久| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品一区二区免费不卡| 成人动漫av在线| 91视频在线看| 欧美亚洲尤物久久| 91精品欧美福利在线观看| 日韩欧美国产高清| 欧美精品一区二区三区高清aⅴ| 久久免费美女视频| 国产精品久久久久一区二区三区 | 亚洲欧美日本在线| 一区二区三区高清不卡| 日韩在线一区二区| 捆绑变态av一区二区三区| 国产一区二区精品久久| 99久久伊人久久99| 欧美日韩中文另类| 日韩免费成人网| 国产无人区一区二区三区| 亚洲欧洲日产国码二区| 一区二区三区精品视频| 日本麻豆一区二区三区视频| 国产精品一区二区久激情瑜伽| 99视频热这里只有精品免费| 欧美日韩国产综合久久 | 26uuu国产在线精品一区二区| 欧美国产日韩a欧美在线观看| 专区另类欧美日韩| 亚洲第一激情av| 久久成人羞羞网站| av资源网一区| 欧美麻豆精品久久久久久| 亚洲精品一区二区三区在线观看| 国产精品久久影院| 亚洲一区视频在线| 久久成人免费网| 91美女蜜桃在线| 日韩一区二区免费视频| 国产精品网站一区| 丝袜亚洲另类欧美综合| 国产大片一区二区| 欧美日韩在线播| 久久老女人爱爱| 亚洲在线免费播放| 国产精品综合av一区二区国产馆| 91麻豆视频网站| 日韩一区二区三区精品视频 | 中文字幕一区二区三区在线播放| 亚洲黄一区二区三区| 久久国产三级精品| 91美女片黄在线观看91美女| 欧美va在线播放| 一区二区三区日韩欧美精品| 激情六月婷婷综合| 91国产丝袜在线播放| 久久久久久久久久久久久久久99 | 日韩精品电影一区亚洲|