📄 digiplane.m
字号:
% DIGIPLANE - Digitise and transform points within a planar region in an image.%% This function allows you to digitise points within a planar region of an% image for which an inverse perspective transformation has been previously% determined using, say, INVPERSP. The digitised points are then% transformed into coordinates defined in terms of the reference frame.%% Usage: pts = digiplane(im, T, xyij)%% Arguments: im - Image. % T - Inverse perspective transform.% xyij - An optional string 'xy' or 'ij' indicating what% coordinate system should be used when displaying% the image. % xy - cartesian system with origin at bottom-left.% ij - 'matrix' system with origin at top-left.% An image which has been rectified, say using% imTrans, may want 'xy' set.%% Returns: pts - Nx2 array of transformed (x,y) coordinates.%% See also: invpersp, imTrans%%% Examples of use:% Assuming you have an image `im' for which you have a set of image% points 'impts' and a corresponding set of reference points 'refpts'.%% T = invpersp(refpts, impts); % Compute perspective transformation.% p = digiplane(im,T); % Digitise points in original image.%% ... or work with the rectified image% [newim, newT] = imTrans(im,T); % Rectify image using T from above% p = digiplane(newim,newT); % Digitise points in rectified image. % Peter Kovesi % School of Computer Science & Software Engineering% The University of Western Australia% pk @ csse uwa edu au% http://www.csse.uwa.edu.au/~pk%% August 2001function pts = digiplane(im, T, xyij) if nargin < 3 xyij = 'ij'; end pts = []; figure(1), clf, imshow(im), axis(xyij), hold on fprintf('Digitise points in the image with the left mouse button\n'); fprintf('Click any other button to exit\n'); [x,y,but] = ginput(1); while but == 1 p = T*[x;y;1]; % Transform point. xp = p(1)/p(3); yp = p(2)/p(3); pts = [pts; xp yp]; plot(x,y,'r+'); % Mark coordinates on image. text(x+3,y-3,sprintf('[%.1f, %.1f]',xp,yp),'Color',[0 0 1], ... 'FontSize',6); [x,y,but] = ginput(1); % Get next point. end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -