⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clipline.m

📁 matlab中进行人脸识别研究时用到的所有程序码路径的设置.
💻 M
字号:
function [x1,y1,x2,y2,inside] = clipline(W,b,window)% CLIPLINE clips line into given window.%% Synopsis:%  [x1,y1,x2,y2,inside] = clipline(W,b,window)%% Description:%  This function returns 2d points (x1,y1) and (x2,y2) %  of a line segment given by line%    W'*x + b = 0%%  clipped to the given window.%% Input:%  W [2x1] Normal of line.%  b [1x1] Line threshold.%  window [4x1] Contains [left right top bottom].%% Output:%  x1 [1x1], y1 [1x1] The first point of line segment.%  x2 [1x1], y2 [1x1] The second point of line segment.%  inside [1x1] 1 if line W'*x+b=0 intersects the window. %  % Example:%  figure; hold on;%  axis([-1 1 -1 1]);%  window = 0.5*axis;%  [x1,y1,x2,y2]=clipline([-1;1],0,window);%  plot([x1 x2],[y1 y2]);%% About: Statistical Pattern Recognition Toolbox% (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac% <a href="http://www.cvut.cz">Czech Technical University Prague</a>% <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a>% Modifications:% 30-apr-2004, VFtheta = -b;alpha = W;minx=window(1);maxx=window(2);miny=window(3);maxy=window(4);x=zeros(4,1);y=zeros(4,1);if alpha(1)==0,   if alpha(2)~=0,      x1=minx;      y1=theta/alpha(2);      x2=maxx;      y2=y1;      inside=1;   else      % if alpha == 0 then it means the bad input.      x1=0;      y1=0;      x2=0;      y2=0;      inside=0;   endelseif alpha(2)==0,   x1=theta/alpha(1);   y1=miny;   x2=x1;   y2=maxy;   inside=1;else   y(1)=maxy;   x(1)=(theta-alpha(2)*y(1))/alpha(1);   y(2)=miny;   x(2)=(theta-alpha(2)*y(2))/alpha(1);   x(3)=maxx;   y(3)=(theta-alpha(1)*x(3))/alpha(2);   x(4)=minx;   y(4)=(theta-alpha(1)*x(4))/alpha(2);   j=0;   for i=1:4,      if x(i) <= maxx & x(i) >= minx & y(i) <= maxy & y(i) >= miny,         if j==0,            j=j+1;            x1=x(i);            y1=y(i);         elseif j==1,            j=j+1;            x2=x(i);            y2=y(i);         end      end   end   if j<2,      x1=0;      y1=0;      x2=0;      y2=0;      inside=0;   else      inside=1;   endend % elseif alpha(2)==0 return; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -