在过去,我使用LDA进行了性别识别.实施方式就像切割和干燥的面部识别一样,我只训练了一组面孔,并按男性或女性而不是名字或身份进行分类.如果数据集足够大,这种方法是否可行?
如果以上不是一个好的方法(我真的不认为),那么使用OpenCV进行年龄估算有哪些不同的方法/方法?
编译器(特别是Xcode使用的编译器)没有将每个变量都视为__block变量的性能提升有哪些?我想有必要有一些东西,我怀疑在__block变量的构思期间,它已经决定了
__block SelfClass * blockSelf = self;
Run Code Online (Sandbox Code Playgroud)
是非常方便的语法.

红点=左眼中心(L),右眼中心(R),嘴中心(M)
紫线=线LR
红线=与L和R的中点相交的水平线
黄线=垂直线在Mx处与LR相交
蓝线= LM和RM
绿线= L和R的X坐标之间的距离
根据这些数据,是否可以确定面部的偏航,俯仰和滚动?
我到目前为止所有的一切都是滚动:
Roll =左眼和右眼之间的角度差
知道L,R和M都相互移动,应该可以在2D空间中计算偏航和俯仰吗?
我的第一个想法是,偏航可以计算为M的X坐标相对于LR的x坐标距离的比率(绿线)
有什么想法吗?
注意:我正在使用opencv
我想知道如何NSCoder处理下次解码时由多个对象共享和编码的对象.它会制作对象的两个副本,还是会解码并在解码它的所有其他对象之间共享一个对象?
我提供了一个类似下面这种情况的小例子.
例:
对象A和对象B在步骤6之后是否共享相同的解码对象,或者它们各自都有自己的副本?
可以说我有一个类正在做类似的事情:
public class Foo
{
private bool _forceStop = false;
private Queue<object> queue;
private void ProcessInBackground()
{
while(!forceStop )
{
Moniter.Enter(queue);
while(!_forceStop && queue.Count == 0)Moniter.Wait(queue);
object data = null;
if (!_forceStop)
data = queue.Dequeue();
Moniter.Exit(queue);
if (data != null)
processData(data);
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
如果不再使用类Foo的对象,并且在该对象中_forceStop永远不会设置为true并且假设已调用ProcessInBackground,是否会收集它?
编辑:已解决,歧义增加了线程安全性.对不起,当我写这个例子时,我刚刚编写了一个场景.