小编Kar*_*arl的帖子

我们应该使用k-means ++而不是k-means吗?

k均值++算法有助于以下两个原始K-means算法的要点:

  1. 原始k-means算法在输入大小上具有超级多项式的最差情况运行时间,而k-means ++声称为O(log k).
  2. 与最佳聚类相比,所发现的近似可以产生关于目标函数的不太令人满意的结果.

但是k-means ++有什么缺点吗?从现在开始我们应该总是使用它而不是k-means吗?

algorithm comparison performance cluster-analysis k-means

10
推荐指数
2
解决办法
3842
查看次数

堆栈跟踪中的__forwarding__是什么意思?

(gdb) bt
#0  0x302ac924 in ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ ()
#1  0x92077e3b in objc_exception_throw ()
#2  0x302d6ffb in -[NSObject doesNotRecognizeSelector:] ()
#3  0x3026e056 in ___forwarding___ ()
#4  0x3024a0a2 in __forwarding_prep_0___ ()
#5  0x00004ae9 in -[GameObject doesTouch:] (self=0xe893a0, _cmd=0x643ee, obj=0xe82e20) at /Users/aaa/Desktop/CPT/Game/Classes/GameObject.m:220
#6  0x00006e05 in -[StaticGrid checkTouchNearest:] (self=0xe82f20, _cmd=0x64ec3, obj=0xe893a0) at /Users/aaa/Desktop/CPT/Game/Classes/StaticGrid.m:62
#7  0x0000a393 in -[EAGLView touchesBegan:withEvent:] (self=0xe8dad0, _cmd=0x3199fa3c, touches=0x632c0b0, event=0xe14590) at /Users/aaa/Desktop/CPT/Game/Classes/EAGLView.m:459
#8  0x30910f33 in -[UIWindow _sendTouchesForEvent:] ()
#9  0x308faecb in -[UIApplication sendEvent:] ()
#10 0x309013e1 in _UIApplicationHandleEvent ()
#11 0x32046375 in PurpleEventCallback …
Run Code Online (Sandbox Code Playgroud)

cocoa objective-c stack-trace message-forwarding

9
推荐指数
1
解决办法
1589
查看次数

尝试构建Boost MPI,但不创建lib文件.这是怎么回事?

我试图用Boost MPI运行一个程序,但问题是我没有.lib.所以我尝试按照http://www.boost.org/doc/libs/1_43_0/doc/html/mpi/getting_started.html#mpi.config上的说明创建一个.

指令说"对于许多使用LAM/MPI,MPICH或OpenMPI的用户来说,配置几乎是自动的",我在C:\中得到了自己的OpenMPI,但我没有做更多的事情.我们需要做任何事情吗?我在程序文件中也得到了自己的MPICH2,并且没有做任何更多的事情.在这一点上,我非常不确定我们必须做什么.

除此之外,该指令的另一个声明:"如果您的主目录中还没有文件user-config.jam,请在那里复制tools/build/v2/user-config.jam." 好吧,我只是按照它说的做.我在C:\ boost_1_43_0>中获得了"user-config.jam"以及"使用mpi;" 进入文件.

接下来,这就是我所做的:bjam --with-mpi

C:\boost_1_43_0>bjam --with-mpi
WARNING: No python installation configured and autoconfiguration
         failed.  See http://www.boost.org/libs/python/doc/building.html
         for configuration instructions or pass --without-python to
         suppress this message and silently skip all Boost.Python targets

Building the Boost C++ Libraries.


warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this …
Run Code Online (Sandbox Code Playgroud)

boost build configure boost-mpi

8
推荐指数
1
解决办法
6983
查看次数

自动检测图像的模糊区域

我正在研究某些部分部分模糊的图像.这些是应该注意的噪音,但问题是:

有没有方法可以检测图像某些部分的图像是模糊还是部分模糊?例如,看看下面的示例图片:

模糊测试

您可以在图像中看到有3个视觉模糊部分:左下角,近中心区域和右上角.现在,是否有可能检测到图像的任何部分是编程方式还是数学上的模糊?

image-processing computer-vision

8
推荐指数
1
解决办法
3941
查看次数

从二进制图像中分割出类似圆形的形状

我有几个二进制图像,我的任务是分割圆形的形状.圆圈不是完美的圆形圆圈,但它们看起来都像圆圈.以下是一些示例图像和我需要的内容:

在此输入图像描述

从上面可以看出,左图像是原始图像,右图像是我需要做的.圆圈与其他形状相交,但我只想要圆圈,如红色所示.将需要用于关闭圆的虚线.在这种情况下,我可以在图像处理中做什么?

编辑:万一,上面的图像被打破,在这里:http://imageshack.us/photo/my-images/835/circleonly.jpg/

image-processing image-segmentation

7
推荐指数
2
解决办法
1232
查看次数

获得角度当前象限的最快方法

首先,这可能听起来很微不足道,但是目前我正在创建一个函数getQuadrant(degree),用于从给定角度返回一个象限.

例如,如果degree> = 0且<90,则返回1.如果degree> = 90且<180,则返回2.依此类推.这非常简单.但是,为了能够处理0-360以外的度数,我首先简单地将这些数字归一化为0-360度范围,如下所示:

            while (angle > 360)
                angle = angle - 360;
            end

            while (angle < 0)
                angle = angle + 360;
            end
Run Code Online (Sandbox Code Playgroud)

在那之后,我计算.但坦率地说,我讨厌使用像这样的while语句.还有其他数学方法可以一次指出角度的象限吗?

编辑:我看到有很多好的答案.请允许我补充一下" 哪种算法最快? "

algorithm trigonometry

7
推荐指数
2
解决办法
6840
查看次数

通过UDP从服务器向iPhone发送大量实时处理数据

我正在实现一个远程应用程序.服务器将实时处理和呈现数据作为动画.(准确地说是一系列图像)每次渲染图像时,它都会通过UDP传输到接收iPhone客户端.

我研究了一些UDP,我知道以下内容:

  • UDP的最大大小约为65k.

  • 但是,似乎iPhone只能接收41k UDP数据包.iPhone似乎无法接收比这更大的数据包.

  • 发送多个数据包时,会丢弃许多数据包.这是由于UDP处理过大.

  • 减小数据包大小会增加未丢弃的数据包数量,但这意味着需要发送更多数据包.

我之前从未编写过真正的实用UDP应用程序,所以我需要一些有效的UDP通信指导.在这种情况下,我们正在讨论从服务器实时传输渲染图像以在iPhone上显示.

压缩数据似乎是强制性的,但在这个问题中,我想关注UDP部分.通常,当我们实现UDP应用程序时,如果我们需要实时不间断地发送大量数据,我们可以在高效UDP编程的最佳实践方面做些什么呢?

iphone networking udp real-time

6
推荐指数
1
解决办法
3622
查看次数

用于OpenMP for Snow Leopard的链接器库?

目前,我在Snow Leopard的XCode 3.2.2上尝试OpenMP:

#include <omp.h>
#include <iostream>
#include <stdio.h>

int main (int argc, char * const argv[]) {

    #pragma omp parallel
    printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我还没有包含任何链接库,所以链接器抱怨:

"_omp_get_thread_num",引自:main.o
"_omp_get_num_threads"中的_main,引用自:main.o中的_main

好的,没问题,我看看现有的框架,寻找关键字,如openmp或omp ......这里出现问题,链接库在哪里?或者我应该说,openMP的链接库的名称是什么?它是dylib,框架还是什么?或者我是否需要先从某个地方获取它?

parallel-processing macos xcode openmp osx-snow-leopard

6
推荐指数
1
解决办法
4886
查看次数

是否可以查看显卡内存中的数据?

是否可以查看当前正在加载到图形卡的RAM中的纹理?例如,如果您打开2-3个高强度3D游戏,是否可以在显卡的RAM中查看这些游戏的纹理?

3d graphics textures

6
推荐指数
1
解决办法
157
查看次数

接受更多同步键盘输入

有时,普通的计算机键盘只能同时接受用户输入到某个键.我有一个罗技键盘,可以同时接受最多3-4次按键.如果您按下此键盘的4个以上键,计算机将不再接受任何输入.它还取决于键盘的某些区域.某些位置允许按下更多键(如箭头键),而某些位置允许您仅按1-2键.这也是键盘与键盘的不同之处.一些较旧的键盘只接受1-2个键.

对于通常的办公室工作来说这不是问题,但是涉及到游戏.例如,想象一下平台游戏,你必须同时跳跃,攻击和控制方向.这意味着几次按键,一些键盘不能接受这种同时输入.但是,我已经在几款游戏中尝试了这一点,并且可能的键盘输入数量似乎也不同.因此,我们有两个问题:

  1. 键盘具有不同的同时输入量.
  2. 有些游戏可以接受比其他游戏更多的键盘输入.

起初,我认为这只是硬件问题,但为什么有些程序表现不同?为什么某些程序可以接受比其他程序更多的键盘输入?那么我们如何编写程序来接受更多的键盘输入呢?

keyboard user-input simultaneous keyboard-events

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