小编Smi*_*ith的帖子

使用大型数组索引增加访问时间

问题

我目前正在编写一个包含大型数组的程序,我对不同数组的处理时间感到非常困惑.一方面,我有7个"较小"的数组(<= 65536个元素),另一方面,我有7个大数组(65536 <elements <= 67108864).两者都是整数数组.我只想在循环中增加各种元素.每个循环我都会在每个数组的相同索引处增加元素.这意味着每个循环我想在同一索引处增加所有14个数组.这需要21秒.如果我只增加7个较小的数组,它只需要2秒,如果我只增加7个较大的数组,则需要18秒!为了更好的说明,我编写了一个示例代码:

#include <iostream>
#include <time.h>

using namespace std;

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

    int* ExampleArray1 = new int [16384];       // 3 "small" arrays (2^14)
    int* ExampleArray2 = new int [32768];       //                  (2^15)
    int* ExampleArray3 = new int [65536];       //                  (2^16)
    for(i=0 ; i<16384 ; i++) {ExampleArray1[i] = 0;}
    for(i=0 ; i<32768 ; i++) {ExampleArray2[i] = 0;}
    for(i=0 ; i<65536 ; i++) {ExampleArray3[i] = 0;}

    int* ExampleArray4 = new int [16777216];    // 3 large …
Run Code Online (Sandbox Code Playgroud)

c++ arrays assembly disassembly visual-studio-2012

13
推荐指数
1
解决办法
628
查看次数

在OpenCV中检测球/圆(C++)

我试图在过滤后的图像中检测到一个球.在这张图片中,我已经删除了不能成为对象一部分的东西.当然我尝试了HoughCircle函数,但是没有得到预期的输出.要么没有找到球,要么检测到太多圈子.问题是球不是完整的圆形.

截图:

在此输入图像描述

我认为它可以工作,如果我识别单个物体,计算它们的中心并检查半径是否在不同方向上大致相同.但是,如果它还没有被完全看见,那么它也会很好.用这种方法我无法检测到半圆形或类似的东西.

编辑:这些图像来自视频流(实时).

我可以尝试其他什么方法?

在此输入图像描述

c c++ opencv image detection

4
推荐指数
1
解决办法
1628
查看次数

标签 统计

c++ ×2

arrays ×1

assembly ×1

c ×1

detection ×1

disassembly ×1

image ×1

opencv ×1

visual-studio-2012 ×1