matlab中surf啥意思

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中surf啥意思相关的知识,希望对你有一定的参考价值。

三维曲面(色)图。

语法:

surf(X,Y,Z)

surf(X,Y,Z,C)

surf(Z)

surf(Z,C)

surf(ax,___)

surf(___,Name,Value)

s = surf(___)

扩展资料:

注意事项

surf用于绘制比较光滑的三维曲面网格图各线条之间的补面用颜色填充。

该函数将矩阵 Z 中的值绘制为由 X 和 Y 定义的 x-y 平面中的网格上方的高度。函数还对颜色数据使用 Z,因此颜色与高度成比例。

surf(Z) 创建曲面,并将 Z 中元素的列索引和行索引分别用作 x 坐标和 y 坐标。此外,surf(Z,C) 还指定曲面的颜色。

surf(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区中。指定坐标区作为第一个输入参数。

surf(___,Name,Value) 使用一个或多个名称-值对组参数指定曲面属性。例如,'FaceAlpha',0.5 创建半透明曲面。请在所有其他输入参数之后指定名称-值对组。

s = surf(___) 将返回一个图曲面对象。

参考技术A

surf函数

三维曲面(色)图

 surf 和 surfc 是通过矩形区域来观测数学函数的函数。surf和surfc能够产生由X、Y、Z指定的有色参数化曲面,即三维有色图。 

 

当x = 1:n、y = 1:m,并且[m,n]=size(Z)时,surf(Z)会产生一个矩阵Z的z部分的三维遮罩层,这里Z是一个定义在几何矩形网格内的单值函数。 

 

surf(X,Y,Z)同样产生矩阵Z的有色遮罩层,XY可以是有xy定义的向量或矩阵

 

surf(X,Y,Z,C)是产生一个由C定义颜色的矩阵Z的有色遮罩层 

 

例子

k = 5;

n = 2^k-1;

[x,y,z] = sphere(n);

c = hadamard(2^k);

figure(1)

surf(z);

figure(2)

surf(x,y,z);

axis equal

figure(3)

surf(x,y,z,c);

colormap([1  1  0; 0  1  1])

axis equal 

 

 

本回答被提问者和网友采纳
参考技术B 函数surf的作用:画三维曲面(色)图,起作用与mesh相似。

surf(X,Y,Z)  X、Y、Z中Z通常是X,Y的函数,即Z(X,Y)。X、Y通常是通过调用meshgrid函数生成的数据网格。

surf(Z)  surf(...,C)  surf(...,'PropertyName',PropertyValue,...)  surf(axes_handles,...)  
相关函数:mesh,meshc, meshz

xgrid = -10:0.1:10;
ygrid = -10:0.1:10;
[x,y] = meshgrid(xgrid,ygrid);
z = 0.5.*(x-exp(0.0154.*y-2));
surf(x,y,z);
参考技术C 画三维的,彩色的 面

大小和响应在 SURF 关键点中究竟代表啥?

【中文标题】大小和响应在 SURF 关键点中究竟代表啥?【英文标题】:What does size and response exactly represent in a SURF keypoint?大小和响应在 SURF 关键点中究竟代表什么? 【发布时间】:2012-05-06 21:12:08 【问题描述】:

我正在使用 OpenCV 2.3 进行关键点检测和匹配。但我对检测算法给出的sizeresponse 参数有点困惑。它们到底是什么意思?

根据OpenCV手册,我想不通:

float size: 有意义的关键点邻域的直径

float response: 最强关键点的响应 被选中。可用于进一步排序或二次抽样

我认为跟踪的最佳点是响应最高的点,但似乎并非如此。那么我如何对 surf 检测器返回的一组关键点进行二次采样,以仅保留最佳可追踪性?

【问题讨论】:

【参考方案1】:

    “size”是原始图像中描述符所覆盖区域的大小(它是通过在比例空间中对原始图像进行下采样获得的,因此它根据它们的比例从关键点到关键点而变化)。

    “响应”确实是一个点“有多好”(粗略地说,就角点而言)的指标。

    对于静态场景检索来说,好的点是稳定的(这是 SIFT/SURF 描述符的主要目的)。在跟踪的情况下,您可能会出现好点,因为被跟踪的对象位于良好的背景上,一半在阴影中......然后因为这种情况发生变化(光线变化,遮挡......)而消失。因此,不能保证跟踪任务总是有一个好点。

【讨论】:

【参考方案2】:

大小和响应

SURF是一个blob检测器,简而言之,一个特征的大小就是blob的大小。更准确地说,OpenCV 返回的大小是近似 Hessian 算子长度的一半。大小也称为比例,这是由于斑点检测器的工作方式,即在功能上等于首先用高斯滤波器在几个尺度上模糊图像,然后对图像进行下采样,最后检测具有固定大小的斑点。请参阅下图,显示 SURF 特征的大小。每个特征的大小是绘制圆的半径。从特征中心到圆周的线表示角度或方向。在此图像中,斑点检测过滤器的响应强度是彩色编码的。您可以看到大多数检测到的特征响应较弱。 (查看原图here)

此直方图显示了上图中特征的响应强度分布:

要跟踪哪些特征?

最强大的特征跟踪器会跟踪所有检测到的特征。特征越多,鲁棒性越强。但是跟踪大量特征是不切实际的,因为我们经常希望限制计算时间。要经常跟踪的特征数量应该针对每个应用程序进行经验调整。通常将图像划分为规则的子区域,并且在每个子区域中保持跟踪 n 个最强的特征。通常选择 n,使得每帧总共检测到大约 500~1000 个特征。

参考文献

阅读journal paper describing SURF 肯定会让您对它的工作原理有一个很好的了解。尽量不要陷入细节中,特别是如果您的背景不是机器/计算机视觉或图像处理。 SURF 检测器乍一看似乎非常新颖,但整个想法是使用积分图像(早在 SURF 之前就已被其他方法使用)估计 Hessian 算子(一种成熟的滤波器)。如果你想很好地理解 SURF 并且你对图像处理不熟悉,你需要回去阅读一些介绍材料。最近偶遇a new and free book,他的第13章对特征检测做了很好的简要介绍。并非其中所说的所有内容在技术上都是正确的,但这是一个很好的起点。 Here 你可以找到另一个很好的 SURF 描述,其中有几张图片显示了每个步骤的工作原理。在该页面上,您会看到以下图片:

您可以看到白色和黑色的斑点,这些是 SURF 在多个尺度上检测并估计它们的大小(OpenCV 代码中的半径)的斑点。

【讨论】:

非常明确的答案。非常感谢。我想再问您一件事,因为您似乎对 SURF 了解很多。除了 opencv Manual guide 之外,还有其他关于 SURF 检测器和提取器的文档值得一看吗? 非常感谢。我实际上有计算机科学背景,但更多的是关于 SURF 的 openCV 实现的信息。对于感兴趣的人,我还发现了这个网站link,它很好地描述了 SURF 所基于的 SIFT。 我想再问一件事关于尺寸。如果我理解得很好,更大的尺寸意味着 SURF 检测到的 blob 的尺寸更大?但是,blob 的大小到底是什么意思?是用于检测关键点的区域大小吗? blob的大小,是使用的Hessian算子的大小。请参阅我提到的 SURF 论文或我添加的新参考。可能这会帮助你理解它。别忘了 OpenCV 是开源的,你可以去阅读代码来看看它是如何实现的。 你有涂鸦图片的参考资料吗?

以上是关于matlab中surf啥意思的主要内容,如果未能解决你的问题,请参考以下文章

大小和响应在 SURF 关键点中究竟代表啥?

matlab中 plot啥意思,r代表啥

在matlab中std是啥意思?

matlab仿真中subsystem啥意思

matlab中\ \是啥意思

Matlab中3.3882e+004 -1.9521e+001i是啥意思?