小编Amr*_*mro的帖子

我在哪里可以找到.NET中的"钳位"功能?

我想将一个值钳位x到一个范围[a, b]:

x = (x < a) ? a : ((x > b) ? b : x);
Run Code Online (Sandbox Code Playgroud)

这是非常基本的.但是我没有在类库中看到函数"clamp" - 至少在类库中没有System.Math.

(因为不知道"钳制"一个值是为了确保它位于某些最大值和最小值之间.如果它大于最大值,则它被最大值替换,等等.)

c# clamp

84
推荐指数
6
解决办法
6万
查看次数

Viola-Jones的脸部检测声称拥有180k功能

我一直在实施Viola-Jones的人脸检测算法.该技术依赖于在图像内放置24×24像素的子帧,并且随后在每个位置中将矩形特征放置在每个位置中,并且每种尺寸都可能.

这些特征可以包括两个,三个或四个矩形.提供以下示例.

矩形功能

他们声称详尽的集合超过180k(第2部分):

鉴于探测器的基本分辨率为24x24,详尽的矩形特征集非常大,超过180,000.请注意,与Haar基础不同,矩形特征集是过度完整的.

本文未明确说明以下陈述,因此它们是我的假设:

  1. 只有2个双矩形特征,2个三矩形特征和1个四矩形特征.这背后的逻辑是我们正在观察突出显示的矩形之间的差异,而不是明确的颜色或亮度或那种类型的任何东西.
  2. 我们不能将特征类型A定义为1x1像素块; 它必须至少至少1x2像素.此外,类型D必须至少为2x2像素,并且此规则相应地适用于其他功能.
  3. 我们不能将特征类型A定义为1×3像素块,因为中间像素不能被分割,并且从其自身减去它与1×2像素块相同; 此要素类型仅针对偶数宽度定义.此外,要素类型C的宽度必须可以被3整除,并且此规则相应地适用于其他要素.
  4. 我们无法定义宽度和/或高度为0 的要素.因此,我们将xy迭代为24减去要素的大小.

基于这些假设,我计算了详尽的集合:

const int frameSize = 24;
const int features = 5;
// All five feature types:
const int feature[features][2] = {{2,1}, {1,2}, {3,1}, {1,3}, {2,2}};

int count = 0;
// Each feature:
for (int i = 0; i < features; i++) {
    int sizeX = feature[i][0];
    int sizeY = feature[i][1];
    // Each position:
    for (int x = 0; x <= …
Run Code Online (Sandbox Code Playgroud)

algorithm image-processing computer-vision face-detection viola-jones

78
推荐指数
2
解决办法
2万
查看次数

如何在MATLAB中处理函数参数的名称/值对

我有一个函数,它将可选参数作为名称/值对.

function example(varargin)
% Lots of set up stuff
vargs = varargin;
nargs = length(vargs);
names = vargs(1:2:nargs);
values = vargs(2:2:nargs);

validnames = {'foo', 'bar', 'baz'};    
for name = names
   validatestring(name{:}, validnames);
end

% Do something ...
foo = strmatch('foo', names);
disp(values(foo))
end

example('foo', 1:10, 'bar', 'qwerty')
Run Code Online (Sandbox Code Playgroud)

似乎在提取适当的值时需要付出很多努力(并且它仍然不是特别强大的再次严格指定的输入).有没有更好的方法来处理这些名称/值对?是否有MATLAB附带的辅助函数可以提供帮助?

matlab arguments function name-value function-parameter

65
推荐指数
6
解决办法
4万
查看次数

如何获取MATLAB中所有开放数字的句柄

我在matlab中有九个开放的数字(由另一个函数生成),我想将它们全部打印到文件中.有谁知道如何抓取MATLAB中所有开放数字的句柄?

我知道,gcf但它似乎没有做我想要的.

matlab figures matlab-figure

63
推荐指数
4
解决办法
7万
查看次数

如何检查SQL Server 2005中是否存在非聚簇索引

我有以下内容:

CREATE NONCLUSTERED INDEX [MyTableIndex]
ON [dbo].[tablename] ([tablename_ID],[tablename_Field1])
INCLUDE ([Tablename_Field2],[Tablename_Field3])
Run Code Online (Sandbox Code Playgroud)

我想创建一个if语句来检查它是否存在.我该怎么做呢?

sql-server-2005 non-clustered-index

62
推荐指数
2
解决办法
5万
查看次数

Python的逆矩阵

如何在python中得到矩阵的逆?我自己实现了它,但它是纯粹的python,我怀疑有更快的模块可以做到这一点.

python algorithm matrix linear-algebra matrix-inverse

60
推荐指数
6
解决办法
11万
查看次数

在Form Constructors和Form Load事件中应该使用哪些设置代码?

对于winforms应用程序,我想知道应该使用什么设置代码:

  • MainForm的()

而不是

  • MainForm_Load(对象发送者,EventArgs e)

这里有最佳实践指南吗?

c# constructor onload-event winforms

55
推荐指数
2
解决办法
1万
查看次数

用于确定音频样本的密钥的算法

我有兴趣确定音频样本的音乐键.算法如何(或可能)试图逼近音乐音频样本的关键字?

Antares Autotune和Melodyne是两款完成此类工作的软件.

任何人都可以给出一些关于这将如何工作的外行的解释?通过分析和弦进行的频谱等,以数学方式推断出歌曲的关键.

这个话题让我很感兴趣!

编辑 - 从为这个问题做出贡献的每个人中找到了精彩的资源和丰富的信息.

尤其来自:the_mandrill和DanielBrückner.

algorithm audio analysis sampling audio-processing

53
推荐指数
4
解决办法
2万
查看次数

java有钳位功能吗?

假设我有一个value,我通常会这样做"钳制"它到一个范围,这里是范围[0..1].也就是说,如果它低于范围开始,则将其增加到范围开始,将其增加到范围结束,将其减小到范围结束.

clampedValue = Math.max(0, Math.min(1, value));
Run Code Online (Sandbox Code Playgroud)

是否有内置功能可以夹紧到一个范围内?

java clamp

52
推荐指数
6
解决办法
4万
查看次数

从C/C++调用python方法,并提取其返回值

我想调用一个在C语言的python模块中定义的自定义函数.我有一些初步代码可以做到这一点,但它只是将输出打印到stdout.

mytest.py

import math

def myabs(x):
    return math.fabs(x)
Run Code Online (Sandbox Code Playgroud)

TEST.CPP

#include <Python.h>

int main() {
    Py_Initialize();
    PyRun_SimpleString("import sys; sys.path.append('.')");
    PyRun_SimpleString("import mytest;");
    PyRun_SimpleString("print mytest.myabs(2.0)");
    Py_Finalize();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何将返回值提取到C double并在C中使用它?

c c++ python python-embedding python-c-api

49
推荐指数
4
解决办法
6万
查看次数