德国开元华人社区 开元周游

标题: matlab gui Punkt auf dem Bild [打印本页]

作者: try1try    时间: 13.12.2004 14:06
Ich wüder eigentlich nur Punkt mit Mouseklick auf dem Bild darstellen,<br>aber jetzt kommt das Problem, dass Bild und Punkt auf verschiedenen <br>Layer steht,<br>kann Jemand hier mir Hilfen.....<br>Schaust Du es Dich einmal an,  <br><br><br><br>function point5(action);<br>global imglist<br>global ax2<br><br>if nargin&lt;1,<br>     action=&#39;initialize&#39;;<br> end;<br><br> switch lower(action)<br> case &#39;initialize&#39;<br>     figNumber=figure(...<br>         &#39;Name&#39;,&#39;point5&#39;,...<br>         &#39;NumberTitle&#39;,&#39;off&#39;,...<br>         &#39;DoubleBuffer&#39;,&#39;on&#39;,...<br>         &#39;RendererMode&#39;,&#39;manual&#39;,...<br>         &#39;Visible&#39;,&#39;off&#39;);<br>     axes(...<br>         &#39;ButtonDownFcn&#39;,&#39;point5(&#39;&#39;axselect&#39;&#39;)&#39;,...<br>         &#39;Units&#39;,&#39;normalized&#39;,...<br>         &#39;XTick&#39;,[],&#39;YTick&#39;,[],...<br>         &#39;Box&#39;,&#39;on&#39;,...<br>         &#39osition&#39;,[0.05 0.35 0.7 0.6]);<br>%==================================================<br>point5(&#39;axselect&#39;)<br>ax2=axes(&#39;position&#39;,[0.05 0.35 0.5 0.6]);<br>figNumber=gcf;<br>get(gcf,&#39;CurrentAxes&#39;)<br>[A,map]=imread(imglist{3});% hier kannst Du selber eignenBild einladen.<br> imagesc(A)<br><br> axis off<br><br>hold on<br><br><br>set(figNumber,&#39;Visible&#39;,&#39;on&#39;);<br><br><br>%=================================================<br> case &#39;axselect&#39;<br> figNumber=gcf;<br>%set(axes,&#39;Layer&#39;,&#39;bottom&#39;)<br>   %currPt=get(gcf,&#39;CurrentAxes&#39;)<br>     currPt=get(gca,&#39;CurrentPoint&#39;);<br>     currPt=currPt(1,1:2)<br><br>     line(currPt(1),currPt(2),...<br>         &#39;LineStyle&#39;,&#39;none&#39;,...<br>         &#39;Marker&#39;,&#39;.&#39;,...<br>         &#39;Color&#39;,&#39;r&#39;,...<br>         &#39;MarkerSize&#39;,25,...<br>         &#39;EraseMode&#39;,&#39;none&#39;);<br>     %hold on<br><br> end<br><br><br>Wenn Jemand das schaffen würde,  .....<br>Dank<br>
作者: elitewang    时间: 13.12.2004 15:24
hallo&#33; freue mich auf deine so sch&ouml;ne Programm zu sehen&#33;&#33;<br>ich habe versucht,deine Programm in meinem Computer durschzuführen, es geht  aber nicht.das Ergebnis lautet: &quot;??? Strings passed to EVAL cannot contain function declarations.&quot;,ich wei&szlig; nicht,worin liegt das Problem?<br>da ich in diesem Semester Numerik studiert hab,brauche ich deshalb MATLAB zu lernen,aber noch nicht lang es genutzt.kann momentan nur einfache Programm schreiben.<br>aber habe ich gro&szlig;es Lust auf MATLABLERNEN;und würde auch sehr gerne mit dir darüber diskutieren,wenn du Lust hast&#33;&#33;<br>see you maybe later&#33;&#33;&#33;
作者: try1try    时间: 13.12.2004 20:09
Dank <br>hier nochmal<br><br><br>function point(action);<br>global imglist<br>if nargin&lt;1,<br>     action=&#39;initialize&#39;;<br> end;<br> <br> switch lower(action)<br> case &#39;initialize&#39;<br>     figNumber=figure(...<br>         &#39;Name&#39;,&#39;point&#39;,...<br>         &#39;NumberTitle&#39;,&#39;off&#39;,...<br>         &#39;RendererMode&#39;,&#39;manual&#39;,...<br>         &#39;Visible&#39;,&#39;off&#39;);<br>     axes(...<br>         &#39;layer&#39;,&#39;top&#39;,...<br>         &#39;ButtonDownFcn&#39;,&#39;point(&#39;&#39;axselect&#39;&#39;)&#39;,...<br>         &#39;Units&#39;,&#39;normalized&#39;,...<br>         &#39;XTick&#39;,[],&#39;YTick&#39;,[],...<br>         &#39;Box&#39;,&#39;on&#39;,...<br>         &#39osition&#39;,[0.05 0.35 0.7 0.6]);<br>%ax2=axes(&#39;position&#39;,[0.05 0.35 0.5 0.6]);<br>     point(&#39;axselect&#39;)<br>%set(figNumber,&#39;Visible&#39;,&#39;on&#39;);<br>figNumber=gcf;<br> [A,map]=imread(&#39;Beispiel.jpg&#39;);<br> imagesc(A)<br><br>  axis on<br> hold on<br><br>%==========================================<br><br> <br><br> case &#39;axselect&#39;<br>     figNumber=gcf;<br>     currPt=get(gca,&#39;CurrentPoint&#39;);<br>     currPt=currPt(1,1:2)<br>     <br>     line(currPt(1),currPt(2),...<br>         &#39;LineStyle&#39;,&#39;none&#39;,...<br>         &#39;Marker&#39;,&#39;.&#39;,...<br>         &#39;Color&#39;,&#39;r&#39;,...<br>         &#39;MarkerSize&#39;,25,...<br>         &#39;EraseMode&#39;,&#39;none&#39;);<br>     set(figNumber,&#39;Visible&#39;,&#39;on&#39;)<br> <br>     hold on<br> end<br><br>Unter Windows sollte das einfach laufen,<br>Du sollst nur ein Bild auf c:/matlab/work einlegen.<br>Wenn es noch was Fehler g&auml;be, ruf mich an 01746838581 oder <br>einfach hier weiter schreiben.<br>komm ich sowiso sp&auml;te noch mal . <br>




欢迎光临 德国开元华人社区 开元周游 (https://bbs.kaiyuan.cn/) Powered by Discuz! X3.2