小编Ant*_*nio的帖子

这些指令会消耗更多的能量/能量吗?

很简单的问题,可能很难回答:

使用SSE指令(例如并行和/最小/最大/平均操作)是否比执行任何其他指令(例如单个总和)消耗更多功率?

例如,在维基百科上,我找不到这方面的任何信息.

我能找到的答案的唯一提示就在这里,但它有点通用,并且没有提及这方面的任何出版材料.

performance x86 sse energy cpu-architecture

11
推荐指数
2
解决办法
1782
查看次数

如何实时拼接摄像机的图像?

我用4台固定式摄像机.相机不会相对移动.我想将他们的视频图像实时拼接成一个视频图像.

我用这个OpenCV 2.4.10和cv:stitcher类,像这样:

// use 4 video-cameras
cv::VideoCapture cap0(0), cap1(1), cap2(2), cap3(3);

bool try_use_gpu = true;    // use GPU
cv::Stitcher stitcher = cv::Stitcher::createDefault(try_use_gpu);
stitcher.setWarper(new cv::CylindricalWarperGpu());
stitcher.setWaveCorrection(false);
stitcher.setSeamEstimationResol(0.001);
stitcher.setPanoConfidenceThresh(0.1);

//stitcher.setSeamFinder(new cv::detail::GraphCutSeamFinder(cv::detail::GraphCutSeamFinderBase::COST_COLOR_GRAD));
stitcher.setSeamFinder(new cv::detail::NoSeamFinder());
stitcher.setBlender(cv::detail::Blender::createDefault(cv::detail::Blender::NO, true));
//stitcher.setExposureCompensator(cv::detail::ExposureCompensator::createDefault(cv::detail::ExposureCompensator::NO));
stitcher.setExposureCompensator(new cv::detail::NoExposureCompensator());


std::vector<cv::Mat> images(4);
cap0 >> images[0];
cap1 >> images[1];
cap2 >> images[2];
cap3 >> images[3];

// call once!
cv::Stitcher::Status status = stitcher.estimateTransform(images);


while(true) {

    // **lack of speed, even if I use old frames**
    // std::vector<cv::Mat> images(4);
    //cap0 …
Run Code Online (Sandbox Code Playgroud)

c++ opencv image-stitching opencv-stitching opencv3.0

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

通过CMake剥离文件名(最短)扩展名(获取文件名删除最后一个扩展名)

get_filename_component可用于删除/提取最长的扩展名.

EXT =文件名最长扩展名(.bc来自d/abc)

NAME_WE =没有目录或最长扩展名的文件名

我的名字中有一个带圆点的文件,所以我需要最短的扩展名:

set(MYFILE "a.b.c.d")
get_filename_component(MYFILE_WITHOUT_EXT ${MYFILE} NAME_WE)
message(STATUS "${MYFILE_WITHOUT_EXT}") 
Run Code Online (Sandbox Code Playgroud)

报告

-- a
Run Code Online (Sandbox Code Playgroud)

但我想要

-- a.b.c
Run Code Online (Sandbox Code Playgroud)

在没有最短扩展名的情况下查找文件名的首选方法是什么?

cmake

11
推荐指数
3
解决办法
7509
查看次数

使用openCV从另一个图像中减去一个图像

如何使用openCV从另一个图像中减去一个图像?

Ps.:我不会使用python实现,因为我必须在C++中完成它

c++ opencv image subtraction

10
推荐指数
4
解决办法
5万
查看次数

使用嵌套命名空间声明"使用命名空间"时出错("在声明中不允许使用命名空间xxx :: yyy")

当我编写C++代码时,我尝试使用a using <X>来防止污染太多.在Crypto ++中,它在一个案例中给我提问.案例是CryptoPP命名空间中的ASN1名称空间(它只显示在一个地方).

这是Crypto ++中的声明:http://www.cryptopp.com/docs/ref/oids_8h_source.html.

我可以使用例如secp256r1曲线:

CryptoPP::ASN1::secp256r1();
Run Code Online (Sandbox Code Playgroud)

但是,我还没有找到一种方法来使用它来声明它.当我尝试:

#include <cryptopp/asn.h>
#include <cryptopp/oids.h>
using CryptoPP::ASN1;
Run Code Online (Sandbox Code Playgroud)

它最终导致error: namespace ‘CryptoPP::ASN1’ not allowed in using-declaration,然后error: ‘ASN1’ has not been declared在下面(我尝试了两者):

ECIES<ECP>::Decryptor d1(prng, secp256r1());
ECIES<ECP>::Decryptor d2(prng, ASN1::secp256r1());
Run Code Online (Sandbox Code Playgroud)

using当有多个命名空间时,如何使用语句?


$ g++ -version
i686-apple-darwin11-llvm-g++-4.2
Run Code Online (Sandbox Code Playgroud)

c++ namespaces

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

是否有可能获得编译时的时间(当天)和日期?

有什么可能在编译时知道时间和日期(BUILDTIME),以便以可移植的方式在二进制文件(可执行文件/库)中包含有关它们创建时刻的信息?

我们目前有一个使用sh.exe的解决方案,并且需要在Windows下安装msys,但我想知道是否可以不使用它.

搜索"构建时间/日期","编译时间/日期"等内容并未导致任何相关结果.

编辑:

当我了解时__TIME__,之后可能会发现此问题:记录编译源的时间

c c++ unix windows compilation

10
推荐指数
1
解决办法
4531
查看次数

在std :: namespace中是isnan吗?更一般地说,什么时候std ::必要,可选或者要避免?

使用Mingw 4.7.2,我有一个因为调用而无法编译的库isnan.如果我使用std::isnan,编译器会说"一切都会好的" ,而且我确实设法编译了我的文件.

但如果我在这里查看(编辑:但也许我也应该在这里检查:-)),std::似乎没有必要.如果我添加它,该文件是否可移植?

更一般地说,对于每种情况,有一般的方法来理解何时std::需要(可移植性),可选或要避免?

编辑

实际上,问题的根源是有多个头部包含,并且包含的​​一些头部包括<cmath>,而这个cpp文件试图包含<math.h>(当<cmath>已经包含时).

c++ portability mingw c++98

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

python成像库:我可以用一种颜色填充我的图像吗?

我用谷歌搜索,检查了PIL库的文档等等,但是我找不到简单问题的答案:如何用所需的颜色填充现有图像?

(我正在使用from PIL import Imagefrom PIL import ImageDraw)

此命令创建一个填充了所需颜色的新图像

image = Image.new("RGB", (self.width, self.height), (200, 200, 200))
Run Code Online (Sandbox Code Playgroud)

但是我想重复使用相同的图像,而不需要每次都调用"new"

python image

10
推荐指数
1
解决办法
9055
查看次数

设置char*的缓冲区,中间转换为int*

我无法完全理解我在这里阅读的内容的后果:将一个int指针转换为char ptr,反之亦然

总之,这会有用吗?

set4Bytes(unsigned char* buffer) {
  const uint32_t MASK = 0xffffffff;
  if ((uintmax_t)buffer % 4) {//misaligned
     for (int i = 0; i < 4; i++) {
       buffer[i] = 0xff;
     } 
  } else {//4-byte alignment
    *((uint32_t*) buffer) = MASK;
  }

}
Run Code Online (Sandbox Code Playgroud)

编辑
有一个长时间的讨论(它是在评论中,神秘地删除了)关于指针应该被铸造到什么类型以检查对齐.现在讨论这个问题.

c c++ memory pointers

10
推荐指数
1
解决办法
1939
查看次数

OpenCV是否为cv :: Point提供了平方范数函数?

我必须检查点之间的几个距离与距离阈值.我能做的是取我的门槛的平方,并将其与平方标准进行比较(a-b),在哪里a以及b我正在检查的点.

我知道cv::norm函数,但我想知道是否存在不计算平方根的版本(因此更快)或者我是否应该手动实现它.

c++ opencv

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