资源简介
求多个目标的最小外接矩形,有说明,matlab版
代码片段和文件信息
function [rectxrectyareaperimeter] = minboundrect(xymetric)
% minboundrect: Compute the minimal bounding rectangle of points in the plane
% usage: [rectxrectyareaperimeter] = minboundrect(xymetric)
%
% arguments: (input)
% xy - vectors of points describing points in the plane as
% (xy) pairs. x and y must be the same lengths.
%
% metric - (OPTIONAL) - single letter character flag which
% denotes the use of minimal area or perimeter as the
% metric to be minimized. metric may be either ‘a‘ or ‘p‘
% capitalization is ignored. Any other contraction of ‘area‘
% or ‘perimeter‘ is also accepted.
%
% DEFAULT: ‘a‘ (‘area‘)
%
% arguments: (output)
% rectxrecty - 5x1 vectors of points that define the minimal
% bounding rectangle.
%
% area - (scalar) area of the minimal rect itself.
%
% perimeter - (scalar) perimeter of the minimal rect as found
%
%
% Note: For those individuals who would prefer the rect with minimum
% perimeter or area careful testing convinces me that the minimum area
% rect was generally also the minimum perimeter rect on most problems
% (with one class of exceptions). This same testing appeared to verify my
% assumption that the minimum area rect must always contain at least
% one edge of the convex hull. The exception I refer to above is for
% problems when the convex hull is composed of only a few points
% most likely exactly 3. Here one may see differences between the
% two metrics. My thanks to Roger Stafford for pointing out this
% class of counter-examples.
%
% Thanks are also due to Roger for pointing out a proof that the
% bounding rect must always contain an edge of the convex hull in
% both the minimal perimeter and area cases.
%
%
% Example usage:
% x = rand(500001);
% y = rand(500001);
% tic[rxryarea] = minboundrect(xy);toc
%
% Elapsed time is 0.105754 seconds.
%
% [rxry]
% ans =
% 0.99994 -4.2515e-06
% 0.99998 0.99999
% 2.6441e-05 1
% -5.1673e-06 2.7356e-05
% 0.99994 -4.2515e-06
%
% area
% area =
% 0.99994
%
%
% See also: minboundcircle minboundtri minboundsphere
%
%
% Author: John D‘Errico
% E-mail: woodchips@rochester.rr.com
% Release: 3.0
% Release date: 3/7/07
% default for metric
if (nargin<3) || isempty(metric)
metric = ‘a‘;
elseif ~ischar(metric)
error ‘metric must be a character flag if it is supplied.‘
else
% check for ‘a‘ or ‘p‘
metric = lower(metric(:)‘);
ind = strmatch(metric{‘area‘‘perimeter‘});
if isempty(ind)
error ‘metric does not match either ‘‘area‘‘ or ‘‘perimeter‘‘‘
end
% just keep the first letter.
metric = metric(1);
end
% preprocess data
x=x(:);
y=y(:);
% not many error checks to worry about
n = length(x);
if n~=length(y)
error ‘x and y must be the same sizes‘
end
% start out with the convex hull of the points to
% reduce the problem dramatically. N
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5399 2011-12-12 18:39 matlab_minrect\MinRect.m
文件 71168 2011-12-12 19:48 matlab_minrect\外接矩形.doc
文件 570 2011-12-12 18:38 matlab_minrect\最小外接矩形.txt
目录 0 2014-06-13 13:25 matlab_minrect
----------- --------- ---------- ----- ----
77137 4
相关资源
- 基于特征匹配和RANSAC的三维点云拼接
- 遗传算法求函数f=x+10*sin(5*x)+7*cos(
- 7种图像降噪matlab实现
- MATLAB神经网络编程
- 医学三维重建MATLAB体绘制算法:光线
- 代码MATLAB基于形态学的目标检测一
- 手势识别,基于 MATLAB
- 电动汽车充电站选址定容matlab程序代
- 智能微电网粒子群优化算法.7z
- 随机hough变换的matlab实现,源码解释很
- LBP图像特征提取matlab程序
- 免疫算法 MATLAB代码
- 基于MATLAB生成孔隙网络结构.txt
- 二维小波变换的matlab程序
- 图像二值化的三种方法matlab
- 关于电力负荷的SVM预测,设计了MATL
- canny算子做目标提取 matlab实现
- 箱型图消除异常值
- 模拟退火算法MATLAB实现代码2
- 基于matlab仿真的FM信号源代码
- 车牌识别Matlab程序可区分0和Q及处理倾
- 雷达波位编排matlab
- LFM回波模拟matlab
- 不同统计分布雷达散射截面和回波模
- 16QAM的matlab程序
- 提取图像Hu不变矩,Matlab函数~~~
- canny算子matlab源代码
-
Matlab simuli
nk 流水灯模型 slx文件 简 - 六自由度机械手matlab仿真模型
- 最优化共轭梯度法matlab实现
评论
共有 条评论