我买了一个Kinect在我的电脑上玩C#.(编程真有趣!)
我正在使用CLNUIDevice.dll从Kinect获取深度图像.这工作正常,我能够通过图像中的RGB值读取深度.
现在我想知道哪些库可以做不同类型的识别.我见过手识别,人脸识别,骨骼,情感,物体等.
图像处理库不一定是Kinect(虽然这样会很好)而且它们不一定是.Net(虽然这样会很好).例如:任何对象跟踪库都可以工作,但如果它可以正确使用Kinect的3D热图,它将更好地工作.
在一些正则表达式中,不支持[负]零宽度断言(前瞻/后瞻).
这使得排除非常困难(不可能?).例如"每条线上没有 "foo"就可以了",如下所示:
^((?!foo).)*$
Run Code Online (Sandbox Code Playgroud)
如果不使用环视(目前预留的复杂性和性能问题),可以实现同样的目标吗?
鉴于两个整数a和b,有没有检验是否有另一个整数的有效方式n,使得?a ? n2 < b
我不需要知道n,只知道是否n存在至少一个这样的存在,所以我希望避免计算区间中任何数字的平方根.
虽然测试单个整数是否是完美的正方形比计算平方根更快,但是范围可能很大,我也希望避免对该范围内的每个数字执行此测试.
例子:
intervalContainsSquare(2, 3) =>假intervalContainsSquare(5, 9) => false(注意:9超出此间隔)intervalContainsSquare(9, 9) => false(此间隔为空)intervalContainsSquare(4, 9) => true(4在此区间内)intervalContainsSquare(5, 16) => true(9在此区间内)intervalContainsSquare(1, 10) => true(1,4和9都在此区间内)我有一个程序正在对Long.bitCount()进行大量调用,因此在一个CPU内核上需要33%的周期.有没有办法实现它比Sun JDK版本更快?
我试过了:
但是,我没有比一个带有手动展开循环的2 16 -entry查找表更好(大约27%的CPU.)
如何针对Java进行优化呢?
注意:这个问题是关于特定于Java的优化,但这个类似的(语言无关的)问题还有许多其他算法.
C#具有自动属性,可以大大简化您的代码:
public string Name { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
Run Code Online (Sandbox Code Playgroud)
Java有你写这么多代码:
private String name;
private String middleName;
private String LastName;
public String Name(){
return this.name;
}
etc..
Run Code Online (Sandbox Code Playgroud)
有没有特殊原因Java没有实现这样的东西?
是否有一种已知的,有效的算法,用于在云中找到最接近的三个点组?
这类似于最接近的一对点问题,但我正在寻找三点而不是两点.
编辑
"最接近"的定义将影响算法的复杂性.正如杰克指出的那样,找到最小面积三角形是3sum-hard,并且在任何情况下都不适合我的应用.
我希望有一个更有效的算法来找到最小的perimiter(即| AB | + | AC | + | BC |)三角形或类似的东西(例如最小| AB |²+ | AC |²+ | BC |².我知道没有理由为什么这应该是3sum-hard,因为其他地方存在3个共线点不会影响结果.
注意:我的点有八个维度,因此任何限制为较少维度的算法都不合适.
类似于如何更改"生成方法存根"以在VS中抛出NotImplementedException?,但对于Eclipse而不是Visual Studio
NetBeans和Eclipse都有一个函数,如果您声明Java类来实现接口但省略一个或多个方法,则会自动为您生成存根方法.
区别在于Eclipse版本什么都不做,并返回零或null,例如
public String munge(String foo) {
// TODO Auto-generated method stub
return null;
}
Run Code Online (Sandbox Code Playgroud)
NetBeans版本将引发异常:
public String munge(String foo) {
throw new UnsupportedOperationException("Not supported yet.");
}
Run Code Online (Sandbox Code Playgroud)
我更喜欢.
是否可以配置Eclipse来执行此操作?
所以我在Mobile Orchard上阅读了这篇文章,当我计划在Android开发中迈出第一步时,它让我想到:是否有可能只在Lua中开发Android?我用Google搜索了主题,但没有找到明确的答案.我知道Java是Android的"基本风格",但对于我的编码新手(基本的Python,基本的C++),Lua似乎更清晰,更友好.然后我的问题是:只能使用Lua开发Android应用吗?如果是的话,你能告诉我一些从这里搬家的方向吗?
如何通过COM4J从C#方法返回一个对象数组(实现COM接口)到Java方法?
示例C#生成数组的类:
using System;
using System.Runtime.InteropServices;
namespace Example
{
[ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IAnimal
{
string Speak();
}
[ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IFarm
{
[return:MarshalAs(UnmanagedType.SafeArray,
SafeArraySubType=VarEnum.VT_UNKNOWN)]
IAnimal[] GetAnimals();
}
[ComVisible(true), ClassInterface(ClassInterfaceType.None)]
public class Farm : IFarm
{
public IAnimal[] GetAnimals()
{
return new IAnimal[] { new Cow(), new Pig() };
}
}
internal class Cow: IAnimal
{
public string Speak()
{
return "Moo";
}
}
internal class Pig: IAnimal
{
public string Speak()
{
return "Oink";
}
}
}
Run Code Online (Sandbox Code Playgroud)
生成的.tlb中的接口声明如下所示: …
有没有办法让Visual source安全地从项目的给定日期获取所有文件?我们不使用标签,所以我不能回滚到特定的标签,并希望我能以某种方式调用某个日期范围来获取特定日期存在的文件?不可能?
java ×4
algorithm ×3
c# ×3
.net ×1
android ×1
com ×1
com-interop ×1
com4j ×1
compression ×1
eclipse ×1
geometry ×1
history ×1
integer ×1
kinect ×1
lua ×1
math ×1
optimization ×1
regex ×1
square-root ×1