📄 runsaliency.html
字号:
0043 <span class="keyword">else</span>0044 params = varargin{1};0045 <span class="keyword">end</span>0046 0047 <span class="comment">% make sure that we don't use color features if we don't have a color image</span>0048 <span class="keyword">if</span> (img.dims == 2)0049 params = <a href="removeColorFeatures.html" class="code" title="function params = removeColorFeatures(params,fid)">removeColorFeatures</a>(params);0050 <span class="keyword">end</span>0051 0052 <span class="comment">% create the saliency map</span>0053 [salmap,salData] = <a href="makeSaliencyMap.html" class="code" title="function [salmap, saliencyData] = makeSaliencyMap(img, salParams, varargin)">makeSaliencyMap</a>(img,params);0054 0055 <span class="comment">% display the conspicuity maps</span>0056 figure(<span class="string">'Name'</span>,<span class="string">'STB: conspicuity maps'</span>,<span class="string">'NumberTitle'</span>,<span class="string">'off'</span>); 0057 <a href="displayMaps.html" class="code" title="function displayMaps(maps,varargin)">displayMaps</a>({salData.CM},2);0058 0059 <span class="comment">% initialize the winner-take-all network</span>0060 wta = <a href="initializeWTA.html" class="code" title="function wta = initializeWTA(salmap,salParams)">initializeWTA</a>(salmap,params);0061 0062 <span class="comment">% display the input image</span>0063 imgFig = <a href="showImage.html" class="code" title="function h = showImage(img,varargin)">showImage</a>(img);0064 0065 <span class="comment">% display the current WTA</span>0066 salFig = figure(<span class="string">'Name'</span>,<span class="string">'STB: Saliency Map and WTA'</span>,<span class="string">'NumberTitle'</span>,<span class="string">'off'</span>);0067 wtaMap = <a href="emptyMap.html" class="code" title="function map = emptyMap(mapSize,label)">emptyMap</a>(img.size(1:2),<span class="string">'Winner Take All'</span>);0068 wtaMap.data = imresize(wta.sm.V,img.size(1:2),<span class="string">'bilinear'</span>);0069 <a href="displayMaps.html" class="code" title="function displayMaps(maps,varargin)">displayMaps</a>([salmap,wtaMap],1);0070 0071 shapeFig = -1;0072 lastWinner = [-1,-1];0073 reply = <span class="string">''</span>;0074 0075 <span class="comment">% loop over the successive fixations, until user enters 'q' or 'Q'</span>0076 <span class="keyword">while</span> (~strcmp(reply,<span class="string">'q'</span>) & ~strcmp(reply,<span class="string">'Q'</span>))0077 winner = [-1,-1];0078 0079 <span class="comment">% evolve WTA until we have a winner</span>0080 <span class="keyword">while</span> (winner(1) == -1)0081 [wta,winner] = <a href="evolveWTA.html" class="code" title="function [wta,winner] = evolveWTA(wta)">evolveWTA</a>(wta);0082 <span class="keyword">end</span>0083 0084 <span class="comment">% update the WTA plot</span>0085 figure(salFig);0086 wtaMap = <a href="emptyMap.html" class="code" title="function map = emptyMap(mapSize,label)">emptyMap</a>(img.size(1:2),<span class="string">'Winner Take All'</span>);0087 wtaMap.data = imresize(wta.sm.V,img.size(1:2),<span class="string">'bilinear'</span>);0088 <a href="displayMaps.html" class="code" title="function displayMaps(maps,varargin)">displayMaps</a>([salmap,wtaMap],1);0089 0090 <span class="comment">% run the shape estimator to get proro-objects</span>0091 shapeData = <a href="estimateShape.html" class="code" title="function shapeData = estimateShape(salmap,saliencyData,winner,params)">estimateShape</a>(salmap,salData,winner,params);0092 0093 <span class="comment">% trigger inhibition of return</span>0094 wta = <a href="applyIOR.html" class="code" title="function wta = applyIOR(oldWTA,winner,params,varargin)">applyIOR</a>(wta,winner,params,shapeData);0095 0096 <span class="comment">% convert the winner's location to image coordinates</span>0097 win2 = <a href="winnerToImgCoords.html" class="code" title="function winImgCo = winnerToImgCoords(winner,params)">winnerToImgCoords</a>(winner,params);0098 0099 <span class="comment">% plot the currently attended region into the image figure</span>0100 figure(imgFig);0101 <a href="plotSalientLocation.html" class="code" title="function plotSalientLocation(winner,lastWinner,img,params,varargin)">plotSalientLocation</a>(win2,lastWinner,img,params,shapeData);0102 0103 lastWinner = win2;0104 0105 <span class="comment">% in case we have shape data, create a plot</span>0106 <span class="comment">% to display various processing steps</span>0107 <span class="keyword">if</span> ~isempty(shapeData)0108 0109 <span class="comment">% need to open a new figure or use the previous one?</span>0110 <span class="keyword">if</span> (shapeFig == -1) 0111 shapeFig = figure(<span class="string">'Name'</span>,<span class="string">'STB: shape maps'</span>,<span class="string">'NumberTitle'</span>,<span class="string">'off'</span>); 0112 <span class="keyword">else</span>0113 figure(shapeFig);0114 <span class="keyword">end</span>0115 0116 <span class="comment">% draw the various maps</span>0117 <a href="displayMaps.html" class="code" title="function displayMaps(maps,varargin)">displayMaps</a>({shapeData.winningMap,shapeData.segmentedMap,<span class="keyword">...</span>0118 shapeData.binaryMap,shapeData.shapeMap});0119 0120 <span class="comment">% find the right label for the figure window</span>0121 winLabel = [<span class="string">' - '</span> shapeData.winningMap.label];0122 <span class="keyword">if</span> any(isnan(img.filename))0123 lab = winLabel;0124 <span class="keyword">else</span>0125 lab = [img.filename winLabel];0126 <span class="keyword">end</span>0127 set(imgFig,<span class="string">'Name'</span>,lab);0128 <span class="keyword">else</span>0129 winLabel = <span class="string">''</span>;0130 <span class="keyword">end</span>0131 0132 <span class="comment">% make sure everything gets drawn</span>0133 drawnow;0134 0135 <span class="comment">% write out the details for our winner</span>0136 txt = sprintf(<span class="string">'winner: %i,%i; t = %4.1f ms%s'</span>,<span class="keyword">...</span>0137 win2(2),win2(1),wta.exc.time*1000,winLabel);0138 0139 <span class="comment">% wait for user input - return for next fixation, 'q' to terminate</span>0140 reply = input(txt,<span class="string">'s'</span>);0141 <span class="keyword">end</span></pre></div><hr><address>Generated on Fri 07-Sep-2007 14:42:18 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -